Repeater的嵌套

本文介绍了一种在ASP.NET中使用Repeater控件进行嵌套显示数据的方法,并提供了详细的前台和后台代码示例。通过创建数据集的关系,实现了父子Repeater间的关联。
最近由于做项目中用到了Repeater的嵌套,于是调查了一下,发现其实很简单,要做的操作也就是在前台给子repeater设定datasource,然后在后台把取出的数据在dataset中作个Relation,然后绑定父层Repeater即可部分代码如下:
前台代码:
 1None.gif<asp:Repeater id="parentRepeater" runat="server">
 2None.gif                <itemtemplate>
 3None.gif                    <b>
 4None.gif                        <%# DataBinder.Eval(Container.DataItem, "Enquiry_No") %>
 5None.gif                    </b>
 6None.gif                    <br>
 7None.gif                    <asp:repeater id="childRepeater"  
 8None.gif                    DataSource = <%# Ctype(Container.DataItem,DataRowView).CreateChildView("myrelation") %> runat="server">
 9None.gif                        <itemtemplate>
10None.gif                            <%# DataBinder.Eval(Container.DataItem, "QuestionName")%>
11None.gif                            <br>
12None.gif                        </itemtemplate>
13None.gif                    </asp:repeater>
14None.gif                </itemtemplate>
15None.gif            </asp:Repeater>
后台代码:
 1 None.gif Dim  ds  As   New  DataSet( " dsEnqueiry " )
 2 None.gif             Dim  dsTemp  As   New  DataSet
 3 None.gif             Dim  objEnquiry  As   New  Enquiry_Business
 4 None.gif
 5 None.gif            dsTemp  =  objEnquiry.GetAllEnquiry()
 6 None.gif            dsTemp.Tables( 0 ).TableName  =   " Enquiry "
 7 None.gif            ds.Tables.Add(dsTemp.Tables( " Enquiry " ).Copy)
 8 None.gif
 9 None.gif            dsTemp  =  objEnquiry.GetAllQuestion()
10 None.gif            dsTemp.Tables( 0 ).TableName  =   " Question "
11 None.gif            ds.Tables.Add(dsTemp.Tables( " Question " ).Copy)
12 None.gif
13 None.gif            ds.Relations.Add( " myrelation " , ds.Tables( " Enquiry " ).Columns( " Enquiry_No " ), _
14 None.gif            ds.Tables( " Question " ).Columns( " EnquiryNo " ))
15 None.gif
16 None.gif             Me .parentRepeater.DataSource  =  ds.Tables( " Enquiry " ).DefaultView
17 None.gif             Me .parentRepeater.DataBind()

转载于:https://www.cnblogs.com/swang/archive/2006/06/13/424546.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值