用Repeater我如何实现这种效果分类1 | 分类2 | 分类3 
分类4 | 分类5 | 分类6
分类7 | 分类8 | 分类9 而不是显示成这个样子分类1 | 分类2 | 分类
3 |分类4 | 分类5 | 分
类6 | 分类7 | 分类8 | 分类9 这该如何显示啊?请高人指点,多谢多谢!

解决方案 »

  1.   

    用DataList吧.   <asp:datalist id="dat1" RepeatColumns="3" RepeatDirection="Horizontal" Runat="server">
         <ItemTemplate>
    <table width="150" height="200"> <tr>
       <td align="center">
                   这个中间放内容,比如:<%# DataBinder.Eval(Container.DataItem,"Name") %>
       </td>
    </tr>
    这样就应该可以了
      

  2.   

    用Datalist容易实现,用repeater就麻烦了
      

  3.   

    <asp:datalist id="datalist1" RepeatColumns="3" RepeatDirection="Horizontal" Runat="server">
         <ItemTemplate>
    <table >
                 <tr>
       <td align="center">
                   <%# DataBinder.Eval(Container.DataItem,"分类名称") %>|
       </td>
    </tr>
      </ItemTemplate>
    </asp:datalist>
      

  4.   

    在Repeater中欠套表格,和DataList 用法差不多
      

  5.   

    把repeater 放在一个<tr>  </tr>里面就可以啦
      

  6.   

    一段vb程序,用c#会更简单
    <TABLE cellspacing="0" cellpadding="3" width="100%" border="0">
    <TBODY><TR>
    <ASP:REPEATER id="rptAttachedFiles" runat="server">
    <ITEMTEMPLATE>
    <TD width="33%">分类<%# Container.DataItem("")%></td>
    <%
    if i = rptAttachedFiles.Items.Count then
        if i mod 3 <> 0 then
            response.write("<td colspan=" & (3 - i mod 3) & ">&nbsp;</td></tr>")
        else
            response.Write("</tr>")
        end if
    elseif i mod 6 = 0 then
        response.write("</tr><TR class=""ListNormal"">")
    elseif i mod 3 = 0 then
        response.Write("</tr><TR class=""ListAlternate"">")
    end if
    i = i + 1
    %>
    </ITEMTEMPLATE>
    </ASP:REPEATER>
    </tbody></table>.vb
    Protected i As Integer每次DataBind()之前,
    i = 0
      

  7.   

    在Repeater中的<ItemTemplate>中插入一个<asp:literal id="spe" runat="server"/>添加事件
    ItemDataBound(object sender, RepeaterItemEventArgs e)
    用itemdata 的索引号判断输出</tr><tr>