首页 新闻 会员 周边 捐助

Repeater绑定数据后如何生成分组的数据,比较难这个问题。

0
悬赏园豆:5 [已关闭问题]

Repeater 绑定数据后如何生成这样的数据
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ul>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
每隔三条数据就生成新的UL
数据的数量可能是1,6,7。。。不一定的。
如果是7条数据的话就生成
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ul>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<ul>
<li>7</li>
</ul>

Ryan.zhu的主页 Ryan.zhu | 初学一级 | 园豆:190
提问于:2010-03-19 14:41
< >
分享
其他回答(4)
0

在业务里先把数据分好组,然后用两个Repeater 嵌套,

齐.net | 园豆:1421 (小虾三级) | 2010-03-19 14:46
0
代码
protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

if (((e.Item.ItemIndex + 1) % 3 == 0 && (e.Item.ItemIndex + 1) % 2 != 0))
{

e.Item.Controls.Add(
new LiteralControl("</ul>\n<ul class='even'>"));
}
if ((e.Item.ItemIndex + 1) % 3 == 0 && (e.Item.ItemIndex + 1) % 2 == 0)
{
e.Item.Controls.Add(
new LiteralControl("</ul>\n<ul class='odd'>"));
}
}
代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<!--新闻列表开始-->
<div id="newslist">
<asp:Repeater ID="Repeater1" runat="server" EnableViewState="False"
onitemcreated
="Repeater1_ItemCreated">
<HeaderTemplate><ul class="odd"></HeaderTemplate>
<ItemTemplate>
<li> <%#Eval("title") %></li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
</div>
<!--新闻列表结束-->
</body>
</html>
风影极光 | 园豆:1573 (小虾三级) | 2010-03-19 18:51
0

嵌套。两个Repeater进行嵌套。然后用数据源进行联动绑定。

1 <asp:Repeater ID="Repeater1" runat="server">
2 <ItemTemplate>
3 <ul>
4 <asp:Repeater ID="childRpt" runat="server" DataSourceID="ObjectDataSource1">
5 <ItemTemplate>
6 <li></li>
7   </ItemTemplate>
8   </asp:Repeater>
9 <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"></asp:ObjectDataSource>
10 </ul>
11 </ItemTemplate>
12 </asp:Repeater>

 

邢少 | 园豆:10926 (专家六级) | 2010-03-23 11:06
0

so easy

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# Container.ItemIndex % 3 == 0 ? "<ul><li>" : "<li>"%>
<%#Eval("title")%></li>
<%# Container.ItemIndex % 3 == 2 ? "</ul>" : ""%>
</ItemTemplate>
<FooterTemplate>
<%#Repeater1.Items.Count % 3 == 0 ? "" : "</ul>"%>
</FooterTemplate>
</asp:Repeater>

 


 

clound | 园豆:481 (菜鸟二级) | 2010-03-23 12:41
0

呵呵  好方法呀

DuFeng | 园豆:270 (菜鸟二级) | 2012-07-05 00:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册