Repeater 如何动态生成?
<table width="100%" align="center" cellpadding="1" cellspacing="1" bgcolor="#000000" class="tablebody1" >
<asp:Repeater ID="rptEData" runat="server">
<ItemTemplate>
<tr bgcolor="#F6F7E1">
<td height="21" class="forumRow">
<%#SetTableTDTxt(Eval("LayerNumb").ToString(), Eval("E1").ToString(),"E1".ToString())%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
如何把上面代码写到后台去呢?其中SetTableTDTxt是函数。
[解决办法]
拼接table
先取出datatable dt,然后循环dt
stringbuilder sb=new ..()
for(int i=0;i<dt.rows.count;i++)
{
sb="<tr><td>"+dt.rows[i]["id"]+"</td></tr>"
}
然后输出到前台页面。
可以用public string strsb
或者 fronttabel.InnerHtml=sb.tosting();
[解决办法]
楼主 这就是repeater的实现原理
不要再挣扎了
[解决办法]
一个个单元格循环怎么慢了??
int columnCount=dt.Columns.Count;//得到你数据源中的列数
stringbuilder sb=new stringbuilder()
for(int i=0;i<dt.rows.count;i++)
{
for(int j=0;i<coulmnCount;j++)
{
sb.Append("<tr><td>"+dt.rows[i][j]+"</td></tr>");
}
}
这样不是可以把你的数据源里面的东西全部拿出来吗
[解决办法]
for(int j=0;i<coulmnCount;j++)
{
sb.Append("<tr><td>"+dt.rows[i][j]+"</td></tr>");
}
改成这个
sb.Append("<tr>");
for(int j=0;i<coulmnCount;j++)
{
sb.Append("<td>"+dt.rows[i][j]+"</td>");
}
sb.Append("</tr>");
不然行数太多了
[解决办法]
你是要控制ITEM中间的字段列数?
[解决办法]
直接拼接html
[解决办法]
你这种情况只有自己拼html输出了。
另外提醒楼主一下,以后提问需求一次性说清楚比较好。
[解决办法]
帮顶!