<asp:repeater id=a runat=server><td>数据1</td></asp: repeater>
这样就横向显示了呀

解决方案 »

  1.   

    使用DataList可以完美解决:
    <asp:DataList id="DataList1" RepeatColumns="3" RepeatDirection="Horizontal" runat="server">
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem,"myData") %>
    <ItemTemplate>
    </asp:DataList>
      

  2.   

    其中:
    RepeatColumns="3"   设置共有3列,
    RepeatDirection="Horizontal"  设置横行显示
      

  3.   

    TO;qiuji(忆秋季)
    Repeater没有办法吗?
      

  4.   

    Repeater没有办法,为什么一定要用Repeater呢?
      

  5.   

    Repeater、DataList、DataGrid 各有各的优点,有些功能这个不能实现,而另一个就能实现。
      

  6.   

    因为Repeater最简单:)
    用它可以和设计好的布局很好的结合:)就向ASP一样而DataGird和DataList我无法按自己想象的布局来设计页面,而且很能做的漂亮,特麻烦:)
      

  7.   

    to ljupin(无情刀):
    正因为Repeater简单,所以有很多功能它不能实现或者实现起来很复杂,如果它能实现所有DataGird和DataList的功能,那MS还要增加DataGird和DataList吗?
    再说,当你遇到复杂的数据表格输出、再加上分页显示时,Repeater实现起来很麻烦的,你只有选择DataGird或者DataList。
    你可以仔细研究一下Repeater、DataList、DataGrid,其实它们设计页面时都很方便的,各有各的优点,你可以根据你的需要选择一个方便的。
      

  8.   

    当某些功能用Repeater实现很方便时,就用Repeater,因为它简单。
    如果不方便或者无法实现,看看其它控件能否更好的实现(例如DataList或者DataGrid)。
      

  9.   

    可以考虑:<asp:repeater id=a runat=server>
    <ItemTemplate>
    <tr>
    <td>数据1</td>
    </ItemTemplate>
    <AlternatingItemTemplate>
      
    <td>数据2</td>
    </tr>
    </AlternatingItemTemplate>
    </asp: repeater>不过,也只呢狗显示2列
      

  10.   

    不知道我理解的有错误没,我觉得没什么难的啊
    <asp:repeater id="Repeater1" runat="server">
    <ItemTemplate>
    <table>
    <tr>
    <td> <%# container.dataitem("字段1") %> </td>
    <td> <%# container.dataitem("字段2") %> </td>
    </tr>
    <tr>
    <td> <%# container.dataitem("字段3") %> </td>
    <td> <%# container.dataitem("字段4") %> </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:repeater>
    这不就是显示两行两列的的吗,想增加行或列也随便呀
      

  11.   

    to srz007(呵呵):
    你那样不行,每个单元格中的字段不一样。
    楼主的意思是:每一个单元格的内容都是从同一个字段中取出来的。
      

  12.   

    是的:)
    目前我做这样的效果只用DataList
    Repeater做不出:)至于DataGrid这东西,我从来不用,因为它把我气坏了:)
    分页得问题简单,我自己写个分页控件就可以了
    我还是最喜欢Repeater.原汁原味:)
      

  13.   

    DataGrid或DataList能做出来的,Repeater就一定能做出来,试试这样:<asp:Repeater runat="server" id="repeater1">
    <HeaderTemplate>
    <table width="100%" border=0 align="center">
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
    <td><%#DataBinder.Eval(Container.DataItem,"字段1")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"字段2")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"字段3")%></td>
    </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:Repeater>或者这样:
    <table width="100%" border=0 align="center">
    <asp:Repeater runat="server" id="repeater1">
    <ItemTemplate>
    <tr>
    <td><%#DataBinder.Eval(Container.DataItem,"字段1")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"字段2")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"字段3")%></td>
    </tr>
    </ItemTemplate>
    </asp:Repeater>
    </table>
      

  14.   

    TO:webdiyer(陕北吴旗娃) 
    你没理解意思:)要的是这样的形式--->
    <table width="100%" border=0 align="center">
    <asp:Repeater runat="server" id="repeater1">
    <ItemTemplate>
    <tr>
    <td><%#DataBinder.Eval(Container.DataItem,"记录1")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"记录2")%></td>
    <td><%#DataBinder.Eval(Container.DataItem,"记录3")%></td>
    </tr>
    </ItemTemplate>
    </asp:Repeater>
    </table>===>要的是记录排列,不是字段排列:)
      

  15.   

    简单点说:就是让Repeater竖排显示数据的同时,可以定制横排的显示:)
    Datalist可以做到:)单纯的Repeater我还做不到,我再想是不是需要自己写个模板
      

  16.   

    repeater ,Datalist,DataGrid中,repeater的功能是最少(少的可怜)
    你用 Datalist就能实现从左到右-->从上到下或从上到下-->从左到右.用这个属性RepeatDirection
      

  17.   

    谢谢 qiuji(忆秋季)  我正在找这个问题的答案
      

  18.   

    这样可以吗?我现在用win98,没法测试,下面的代码也许会出错,但我相信原理是正确的:<asp:Repeater runat="server" id="repeater1" OnItemDataBound="Repeater1_ItemDataBound">
    <HeaderTemplate>
    <table width="100%" border=0 align="center"><tr>
    </HeaderTemplate>
    <ItemTemplate>
    <td><%#DataBinder.Eval(Container.DataItem,"字段名")%></td>
    </ItemTemplate>
    <FooterTemplate>
    </tr></table>
    </FooterTemplate>
    </asp:Repeater>---------------------
    //定义全局变量i
    int i=1;
    void Repeater1_ItemDataBound(object src,RepeaterItemEventArgs e){
    if(i%3==0){
    e.Item.Controls.Add(new LiteralControl("</tr><tr>");
    }
    i++;
    }
      

  19.   

    webdiyer(陕北吴旗娃)的方法确实可以实现,不错!学习!不过e.Item.Controls.Add(new LiteralControl("</tr><tr>");
    后面少了一个)
      

  20.   

    谢谢!
    测试中....
    (以后只用Repeater)
      

  21.   

    不过感觉像是ASP的老方法,对不对?
    不过已经够了
    俺睡,明天测试