本帖最后由 Rddisney 于 2012-02-03 14:15:42 编辑

解决方案 »

  1.   

    <div style="width:总宽度"><ul><li style="width:总宽度/4;float: left;">内容</li></ul></div>循环li
      

  2.   

    不用控件其实也可以的。
    前台:<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();我只是稍稍举一个例子。具体的后台循环可能是需要一个嵌套循环了。
      

  3.   

    用repeater控件如何实现动态多列显示呢。
      

  4.   

    前台:
    <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++;
        }
      

  5.   

    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.
      

  6.   

    <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++;
        }
      

  7.   

    weimeiangle,您好。
    按照您所提供的解决方案,未实现我想要的效果。
    测试效果图如下:
      

  8.   

    将所有数据放入datatable中,用dataview过滤吧。
    过滤完后,将过滤好的数据给repeater。
      

  9.   

    weimeiangle,您好。
    对于您的及时回复我表示非常感谢。
    刚刚又调试了一次,如图所示:希望能交个朋友。我的QQ:215645471。
      

  10.   

    weimeiangle,您好。
    图中显示的每列的记录数不一致,怎样实现前几列记录数一致,最后一列不足的话,正常从上至下显示?