比如 表A内有有一字段name 有100条数据现在我想显示如下效果 name1   name2   name3   name4
name5   name6   name7   name8
name9   name10   ....每页显示 5行4列 repeater 该如何绑 

解决方案 »

  1.   

    我一般foreach做循环生成tr td标签
    没用绑定
      

  2.   

    用 div 或者 ul 吧,把外框的宽度写好,里面每项的宽度也写好,一行显示不了,就自动到下一行了,也不用判断是不是该加tr标记了。
      

  3.   


    <asp:repeater runat="server">
    <itemtemplate>
    <div style="float:left:"> 绑定数据 </div>
    </itemtemplate>
    </asp:repeater>
      

  4.   

    类似下面这样 StringBuilder sb = new StringBuilder();
                sb.Append("<table>\r\n");
                for (int i = 1; i <= 20; i++)
                {
                    if (i == 1)
                    {
                        sb.Append("  <tr>\r\n");
                    }
                    
                    if (i % 4 == 0)
                    {
                        if(i==20)
                            sb.Append("    <td>" + i + "</td>\r\n</tr>\r\n");
                        else
                            sb.Append("    <td>" + i + "</td>\r\n</tr>\r\n<tr>\r\n");
                    }
                    else
                    {
                        sb.Append("    <td>" + i + "</td>\r\n");
                    }
                }
                sb.Append("</table>\r\n");
      

  5.   

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        { 
            if (i % 4 == 0)
            {
                    e.Item.Controls.Add(new LiteralControl("</TR><TR>")); 
            }
            i++;
        }
      

  6.   

    建议使用 datalist 可以这样排列 自带属性可设置
      

  7.   

    <div style="width:400px;">
        <asp:repeater runat="server">
            <itemtemplate>
                <div style="float:left; width:100px;"> 绑定数据 </div>
            </itemtemplate>
        </asp:repeater>
    </div>
    这样的话就是一行四个,而且自动就换行了,也不用判断了,省的麻烦
      

  8.   

    当然了,如果用 ul 和 li 的话个人认为会更好点,不过上面的也够用了
      

  9.   

    不错,但是用DataList更方便,效率不会差的
      

  10.   

    嵌套循环  首先把数据 填充到 table  中 dim 数据 as new data.datatabledim sda as new sqldataadapter("sql查询语句",数据库连接)sda.fill(数据)循环开始 dim int as integerint=0for i= 0 to (数据.rows.count-1)\4  这样可以得到 每行 4条数据  总共有几行  就循环几次    for j= 0 to  4     循环输出4条 数据 
           
              response.write(数据.rows(int).item("数据库中的字段名")& "  ")   输出的数据    int=int+1  这样就可以得到 table 中下条数据的 ID    next 
         
    next 这样就可以得到  xxxx  xxxx  xxxx  xxxx
    xxxx  xxxx  xxxx  xxxx
    xxxx  xxxx  xxxx  xxxx
    ...这样的效果如果数据不过 4条 一行的时候还需要判断一下 
    dim int as integerint=0for i= 0 to (数据.rows.count-1)\4  这样可以得到 每行 4条数据  总共有几行  就循环几次    for j= 0 to  4     循环输出4条 数据 
           if int>数据.rows.count-1 then  通过大于数据条数 就不输出 
            else
              response.write(数据.rows(int).item("数据库中的字段名")& "  ")   输出的数据
             end if 
        int=int+1  这样就可以得到 table 中下条数据的 ID    next 
         
    next 
      

  11.   

    datalist有属性设置一行显示几个的
      

  12.   

    datalist有属性设置一行显示几个的 ,自己找一下
      

  13.   

    这个我昨天刚做完,贴代码:
     <table cellspacing="0" cellpadding="5" width="100%" border="0">
     <tr >
         <td>
            <asp:Repeater ID="rpList" runat="server">
               <ItemTemplate>
              <div style="float: left; width: 20%;">                                   
                   <table width="100%" border="0" cellpadding="5" cellspacing="0">
                       <tr>
                           <td  height="25" align="left" >
                            数据绑定(name)                           
                           </td>                                                
                       </tr>
                   </table> 
              </div>  
             </ItemTemplate>
           </asp:Repeater> 
         </td>                           
       </tr> 
     </table>                    
      

  14.   

    DIV控制好宽度,高度,可以一行自由显示多少的
      

  15.   

    用 DataList 才是正解。而且不用写控制的代码。
      

  16.   

    29楼说的对,DataList 最方便了。
      

  17.   

     <table border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC" width="500"> 
                         
            <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> 
                <ItemTemplate>   
                   <tr height="18" bgcolor="#F7F7F7">             
                        <td><%# Eval("title") %></td>                      
                        <td>                        
                            <%# Eval("count") %> 
                        </td>
                        <td>                         
                            <%# Eval("unClick") %> 
                        </td>                                                           
                  </tr> 
               </ItemTemplate>   
         </asp:Repeater>    
     </table>    
      

  18.   

    还是用Reapter 好,虽然功能没有 DATALIST GRIDVIEW 强大
    但是客户端没有丝毫垃圾代码·控制起来随心所欲
      

  19.   

    还不如用DataList控件呢,开发效率还快点,不要什么都用repeat ,要分情况而定
      

  20.   

    datalist会自动生成一个TABLE
    不好用
      

  21.   

    <asp:DataList ID="dllistinfo" RepeatColumns="4" runat="server">
                           <ItemTemplate>
                                      
                           数据绑定(name)      
                                         
                                    </ItemTemplate>
                            
                            </asp:DataList>