Repeater 嵌套的问题
有一个商品订单的IList泛型类,我现在要把商品订单全部呈现出来,
IList<Order> orderList=new List<Order>();//声明
orderList=GetOrderList();//获取订单列表
repeater.DataSource=orderList;//绑定到repeater控件
但是orderList类下还有一个成员,orderList.ProductList,这个成员变量是IList类型,是指订单里的产品列表,也就是说一个产品订单里有多个商品.
现在我要把它们用嵌套Repeater显示出来,大家给个方法
示意图如下:
订单一
用户名:XX
运送地址:XX
产品列表:
产品1
产品2
……
订单二
用户名:XX
运送地址:XX
产品列表:
产品1
产品2
……
------解决方案--------------------不一定用欠套吧,你可以在鼠标移动到某个订单时,弹出一个悬浮的DIV 来显示商品列表嘛
------解决方案--------------------嵌套就嵌套啦
<repeater>
<itemtemplate>
用户名:<%# Eval("X") %>
运送地址:<%# Eval("X") %>
产品列表:<%# Eval("X") %>
<repeater>
<itemtemplate>
产品<%# Eval("X") %>////楼主是不是在这里不知道绑定谁?怎么绑定了? 因为数据源不定?
</itemtemplate>
</repeater>
</itemtemplate>
</repeater>
------解决方案--------------------给你一个实例吧 照着做即可,我这里的Repeater1 中嵌套了RadioButtonList
注意用到了 DataSource='<%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("myrelation") %>'
做嵌套记录集,
后台注意
ds.Relations.Add("myrelation",
ds.Tables["questions"].Columns["id"],
ds.Tables["answers"].Columns["questionsid"]);
//Bind the Authors table to the parent Repeater control, and call DataBind.
Repeater1.DataSource = ds.Tables["questions"];
Page.DataBind();
建立父子关系
HTML code
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<a>
<%#Container.ItemIndex + 1%>
.</a><asp:Label ID="Label1" runat="server" Text='<%# Eval("subject") %>'></asp:Label>
<a>
<asp:RadioButtonList runat="server" ID="rblsss" RepeatLayout="Table" RepeatDirection="Horizontal"
DataSource='<%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("myrelation") %>'>
</asp:RadioButtonList>
</a>
</ItemTemplate>
<AlternatingItemTemplate>
<a>
<%#Container.ItemIndex + 1%>
.</a><asp:Label ID="Label1" runat="server" Text='<%# Eval("subject") %>'></asp:Label>
<asp:RadioButtonList runat="server" ID="rblsss" RepeatLayout="Table" RepeatDirection="Horizontal"
DataSource='<%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("myrelation") %>'>
</asp:RadioButtonList>
</a>
</AlternatingItemTemplate>
<SeparatorTemplate>
<br />
</SeparatorTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
------解决方案--------------------
关键就是这一段