asp.net repeater 读取数据库动态分列显示 本帖最后由 Rddisney 于 2012-02-03 14:15:42 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <div style="width:总宽度"><ul><li style="width:总宽度/4;float: left;">内容</li></ul></div>循环li 不用控件其实也可以的。前台:<div class="cncn clearfix" runat="server" id="div_li"></div>后台:StringBuilder sb = new StringBuilder();for(int i=0;i<dt.rows.count;i++){ sb.Append("<li></li>");}在后台将HTML代码编写好。然后div_li.InnerHTML = sb.toString();我只是稍稍举一个例子。具体的后台循环可能是需要一个嵌套循环了。 用repeater控件如何实现动态多列显示呢。 前台:<asp:Repeater ID="rptStatus" runat="server" OnItemDataBound="rptStatus_ItemDataBound"> <HeaderTemplate> <table> <tr> </HeaderTemplate> <ItemTemplate> <td> <%#DataBinder.Eval(Container.DataItem, "brand")%> </td> </ItemTemplate> <FooterTemplate> </tr> </table> </FooterTemplate> </asp:Repeater>后台: private int i = 0; protected void rptStatus_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (i % 3 == 0 && i > 0) { e.Item.Controls.Add(new LiteralControl("</tr><tr>")); } i++; } weimeiangle,您好。“3”是限制列数吗?用repeater能否生成html的格式为我问题中所提供的html样式吗?即:<div> <ul> <li><a href="">内容</a></li> ........... <li><a href="">内容</a></li>//这里面的<li></li>是动态生成的。 </ul> ........... <ul> <li><a href="">内容</a></li> ........... <li><a href="">内容</a></li>//这里的<li></li>是动态生成的。 </ul>//这里的<ul></ul>也是动态生成的。</div>问题补充:记录是从数据库中动态读取的,如何实现动态列绑定到repeater. <asp:Repeater ID="rptStatus" runat="server" OnItemDataBound="rptStatus_ItemDataBound"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li><a href="#"> <%#DataBinder.Eval(Container.DataItem, "brand")%></a></li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> private int i = 0; protected void rptStatus_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (i % 4 == 0 && i > 0) { e.Item.Controls.Add(new LiteralControl("</ul><ul>")); } i++; } weimeiangle,您好。按照您所提供的解决方案,未实现我想要的效果。测试效果图如下: 将所有数据放入datatable中,用dataview过滤吧。过滤完后,将过滤好的数据给repeater。 weimeiangle,您好。对于您的及时回复我表示非常感谢。刚刚又调试了一次,如图所示:希望能交个朋友。我的QQ:215645471。 weimeiangle,您好。图中显示的每列的记录数不一致,怎样实现前几列记录数一致,最后一列不足的话,正常从上至下显示? 求一正则表达式。限制文本框输入项 asp.net textbox问题 ASP.NET中怎么处理异常 [求助]为什么GridView中的隐藏列读不出值啊? bingbingcha(不思不归,不孟不E,原来是头大灰狼) 来拿分 请教databinder问题! 请教各位大虾,怎么使用命令来启动iis呀 asp。net 父页面传值 请教一个初始化页面加载函数的问题 提问——出现了很怪的现象。大家看看... ... 请教EXCEL导入sqlserver数据库 就写了六行简单到弱爆的代码运行了没反应不知道怎么回事
前台:<div class="cncn clearfix" runat="server" id="div_li">
</div>后台:StringBuilder sb = new StringBuilder();
for(int i=0;i<dt.rows.count;i++)
{
sb.Append("<li></li>");
}在后台将HTML代码编写好。
然后
div_li.InnerHTML = sb.toString();我只是稍稍举一个例子。具体的后台循环可能是需要一个嵌套循环了。
<asp:Repeater ID="rptStatus" runat="server" OnItemDataBound="rptStatus_ItemDataBound">
<HeaderTemplate>
<table>
<tr>
</HeaderTemplate>
<ItemTemplate>
<td>
<%#DataBinder.Eval(Container.DataItem, "brand")%>
</td>
</ItemTemplate>
<FooterTemplate>
</tr> </table>
</FooterTemplate>
</asp:Repeater>后台:
private int i = 0; protected void rptStatus_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 3 == 0 && i > 0)
{
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i++;
}
“3”是限制列数吗?
用repeater能否生成html的格式为我问题中所提供的html样式吗?
即:<div>
<ul>
<li><a href="">内容</a></li>
...........
<li><a href="">内容</a></li>//这里面的<li></li>是动态生成的。
</ul>
...........
<ul>
<li><a href="">内容</a></li>
...........
<li><a href="">内容</a></li>//这里的<li></li>是动态生成的。
</ul>//这里的<ul></ul>也是动态生成的。
</div>问题补充:记录是从数据库中动态读取的,如何实现动态列绑定到repeater.
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><a href="#"> <%#DataBinder.Eval(Container.DataItem, "brand")%></a></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater> private int i = 0; protected void rptStatus_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 4 == 0 && i > 0)
{
e.Item.Controls.Add(new LiteralControl("</ul><ul>"));
}
i++;
}
按照您所提供的解决方案,未实现我想要的效果。
测试效果图如下:
过滤完后,将过滤好的数据给repeater。
对于您的及时回复我表示非常感谢。
刚刚又调试了一次,如图所示:希望能交个朋友。我的QQ:215645471。
图中显示的每列的记录数不一致,怎样实现前几列记录数一致,最后一列不足的话,正常从上至下显示?