repeater使用

xiaowen_ly 2010-04-19 05:14:01
问题一:只绑定一个字段的时候如何显示多列?
描述: 数据源List,结构 name ,只有一个字段。
张三
李四
……
<asp:Repeater ID="rptlike" runat="server">
<ItemTemplate><%#Eval("name") %></ItemTemplate>
</asp:Repeater>

最后显示 张三 李四 ,共显示两列或者多列,如何做到?
王五 赵六
……
问题二:不同的行显示样式不同,如何做到?
描述: <asp:Repeater ID="rptlike" runat="server">
<ItemTemplate>
第一行的样式是cssclass1
第二行的样式是cssclass2
以后每行都是cssclass3
</ItemTemplate>
</asp:Repeater>
怎么做到这一点?


请教大虾,谢谢。

...全文
288 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
willing_ct 2010-04-20
  • 打赏
  • 举报
回复
把STYLE封装成model字段

<ItemTemplate><span style='<% #Eval("style") %>'><%#Eval("name") %></span></ItemTemplate>
啊兵 2010-04-20
  • 打赏
  • 举报
回复
又学到一点,以前在repeater里面表示数据的时候都用tr--td

以后会尝试使用ul li标签来处理。

楼主常在觉得困难,就用js去实现吧,不管是显示2列还是3列都很好控制。
blank223 2010-04-20
  • 打赏
  • 举报
回复
datelist 实现吧
geass 2010-04-20
  • 打赏
  • 举报
回复
可以用CSS+DIV+JQUERY实现
sunnj87 2010-04-19
  • 打赏
  • 举报
回复
repeater写起来比较自由,比较随便
huangwenquan123 2010-04-19
  • 打赏
  • 举报
回复
datelist
马老虎 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 mmm306306 的回复:]

都说datalist容易!我就不明白datalist 一个字段绑定多列 到底简单在哪?(估计是我愚钝,哪位解释下!)
[/Quote]

[Quote=引用 21 楼 sunnj87 的回复:]

这两个问题都可以解决
问题一
<repeater id="..." .....>
<ItemTemplate>
<tr><td>
<%#...%>
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td>
<%#...%>
</td></tr>
</AlternatingItemTemplate>
</repeater>……
[/Quote]
谢谢sunnj87 指点迷津

<table>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr><td><%# Eval("name") %></td>
</ItemTemplate>
<AlternatingItemTemplate>
<td><%# Eval("name") %></td></tr>
</AlternatingItemTemplate>
</asp:Repeater>
</table>

ChaoYang0502 2010-04-19
  • 打赏
  • 举报
回复
问题一: foreach list 根据最终需求,重新组合list,再行绑定;
问题二:

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
int i = e.Item.ItemIndex;
if(i == 0)
{
HtmlTableRow row = (HtmlTableRow)e.Item.FindControl("row");
if (row != null)
{
row.BgColor = System.Drawing.Color.Black.ToString();
}
}
else if(i==1)
{
//css2
}
else
{//css3
}


}


给个参考,自己优化下代码
sunnj87 2010-04-19
  • 打赏
  • 举报
回复
这两个问题都可以解决
问题一
<repeater id="..." .....>
<ItemTemplate>
<tr><td>
<%#...%>
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td>
<%#...%>
</td></tr>
</AlternatingItemTemplate>
</repeater>
显示两列,要是不只两列的话,还是建议repeater的外面使用ul,li标签
问题二
照19楼上写就行啦
  • 打赏
  • 举报
回复
Repeater 需要自己嵌套表格,控制比较灵活
yangxueke 2010-04-19
  • 打赏
  • 举报
回复
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
<table
<tr>
<td>姓名</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# ...%></td>
</tr>
<tr>
<td><%# ...%></td>
</tr>
...
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
xiaowen_ly 2010-04-19
  • 打赏
  • 举报
回复
真是贻笑大方啊,原来是datalist,丢人呐
骑猪看海 2010-04-19
  • 打赏
  • 举报
回复
用JS就能实现
yingyuebingya 2010-04-19
  • 打赏
  • 举报
回复

<style type="text/css">
.css1{ color:Blue; float:left;}
.css2{ color:Green; float:left;}
.css3{ color:Red; float:left;}
.css4{ color:black; float:left;}
.css5{ color:Gray; float:left;}
</style>



<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("UserName")%>'></asp:Label>
</ItemTemplate>
</asp:Repeater>



protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Label lbl = e.Item.FindControl("Label1") as Label;
lbl.CssClass = "css" + (e.Item.ItemIndex+1);
}
马老虎 2010-04-19
  • 打赏
  • 举报
回复
都说datalist容易!我就不明白datalist 一个字段绑定多列 到底简单在哪?(估计是我愚钝,哪位解释下!)
xiaowen_ly 2010-04-19
  • 打赏
  • 举报
回复
汗,呵呵
我看看datalist
zhengbin215 2010-04-19
  • 打赏
  • 举报
回复
用两个Repeater 行不呢?一边一个咯。。。。
myhope88 2010-04-19
  • 打赏
  • 举报
回复
很多方法
aluogang 2010-04-19
  • 打赏
  • 举报
回复
datelist
njlywy 2010-04-19
  • 打赏
  • 举报
回复
DataList吧
加载更多回复(9)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧