<asp:repeater id=a runat=server><td>数据1</td></asp: repeater>
这样就横向显示了呀
这样就横向显示了呀
解决方案 »
- 网页不能访问,网页不能打开
- 急,sql被注入
- asp.net新手,點一個按鈕轉到另一頁,並求入門書
- 怎样在C#中用JavaScript重定向到一个框架
- gridview中,分类ID如何显示成分类名称?
- jquery 调用 后台方法?
- ASP.NET 1.1 FieldValidator客户端效验问题
- cuteEditor 插入视频问题
- DownListMenu.Items.Add(txtMenuName.Text),这样增加的text值和value值相同,怎么让他们不同,怎么增加value?
- 求老师指点,vs2005与vs2010之间的问题
- 如何获取DataGrid中某行某列的值
- 请教:如何把一张临时的表添加到数据库?
<asp:DataList id="DataList1" RepeatColumns="3" RepeatDirection="Horizontal" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"myData") %>
<ItemTemplate>
</asp:DataList>
RepeatColumns="3" 设置共有3列,
RepeatDirection="Horizontal" 设置横行显示
Repeater没有办法吗?
用它可以和设计好的布局很好的结合:)就向ASP一样而DataGird和DataList我无法按自己想象的布局来设计页面,而且很能做的漂亮,特麻烦:)
正因为Repeater简单,所以有很多功能它不能实现或者实现起来很复杂,如果它能实现所有DataGird和DataList的功能,那MS还要增加DataGird和DataList吗?
再说,当你遇到复杂的数据表格输出、再加上分页显示时,Repeater实现起来很麻烦的,你只有选择DataGird或者DataList。
你可以仔细研究一下Repeater、DataList、DataGrid,其实它们设计页面时都很方便的,各有各的优点,你可以根据你的需要选择一个方便的。
如果不方便或者无法实现,看看其它控件能否更好的实现(例如DataList或者DataGrid)。
<ItemTemplate>
<tr>
<td>数据1</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td>数据2</td>
</tr>
</AlternatingItemTemplate>
</asp: repeater>不过,也只呢狗显示2列
<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>
这不就是显示两行两列的的吗,想增加行或列也随便呀
你那样不行,每个单元格中的字段不一样。
楼主的意思是:每一个单元格的内容都是从同一个字段中取出来的。
目前我做这样的效果只用DataList
Repeater做不出:)至于DataGrid这东西,我从来不用,因为它把我气坏了:)
分页得问题简单,我自己写个分页控件就可以了
我还是最喜欢Repeater.原汁原味:)
<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>
你没理解意思:)要的是这样的形式--->
<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>===>要的是记录排列,不是字段排列:)
Datalist可以做到:)单纯的Repeater我还做不到,我再想是不是需要自己写个模板
你用 Datalist就能实现从左到右-->从上到下或从上到下-->从左到右.用这个属性RepeatDirection
<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++;
}
后面少了一个)
测试中....
(以后只用Repeater)
不过已经够了
俺睡,明天测试