Repeater嵌套绑定Repeater repeater控件绑定数据

Repeater嵌套绑定Repeater repeater控件绑定数据
这里的Repeater 嵌套,是指在 外层的Repeater的 ItemTemplate 中 又添加了一个 Repeater,并且在两层的Repeater中都添加了一个Button控件。我们要实现两个控件的事件响应。也就是点两个Button时执行相应的方法。
aspx页面:
<asp:RepeaterID="Repeater1" runat="server"onitemdatabound="Repeater1_ItemDataBound"onitemcommand="Repeater1_ItemCommand">// 外层的Repeater。注意Onitemcommand 事件 <HeaderTemplate></HeaderTemplate><ItemTemplate> <asp:ButtonText="删除" runat="server" CommandName="deletely"CommandArgument='<%# eval_r("ID") %>'/>//这是外层的Button。 <asp:RepeaterID="Repeater2" runat="server"onitemcommand="Repeater2_ItemCommand">//嵌套到里面的第二Repeate <HeaderTemplate> </HeaderTemplate> <ItemTemplate><asp:ButtonID="Button1" Text="删除" runat="server" CommandName="deletehf"CommandArgument='<%# eval_r("ID") %>'/>// 内层的 Button。<asp:CheckBox ID="chkId" CssClass="checkall"runat="server" /><asp:HiddenFieldID="hidId" Value='<%#eval_r("id")%>'runat="server" />//内层实现全选批量操作 </ItemTemplate> <FooterTemplate> </FooterTemplate> </asp:Repeater><FooterTemplate></FooterTemplate></asp:Repeater>
后台代码//对内层repeater进行绑定赋值protected void Repeater1_ItemDataBound(objectsender, RepeaterItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==ListItemType.AlternatingItem) { Repeater rep =e.Item.FindControl(" Repeater2") asRepeater; DataRowView rowv =(DataRowView)e.Item.DataItem; int typeid =Convert.ToInt32(rowv["id"]); //获取填充子类的id rep.DataSource = //获取绑定数据; rep.DataBind(); } }//处理第1个Button事件,protected voidRepeater1_ItemCommand(object source, RepeaterCommandEventArgse){ if (e.CommandName == "deletely") { int dlid =Convert.ToInt32(e.CommandArgument.ToString()); //执行方法//执行过后绑定}}//处理第2个Button事件。 protected voidRepeater2_ItemCommand(object source, RepeaterCommandEventArgse){if (e.CommandName == "deletehf"){ int dlid =Convert.ToInt32(e.CommandArgument.ToString()); //执行方法 //执行过后绑定}}//批量删除 protected void btnDelete_Click(object sender,EventArgs e) { for (int i= 0; i < Repeater1.Items.Count;i++) { Repeater rep= Repeater1.Items[i].FindControl("Repeater2") asRepeater; for (int j = 0; j< rep.Items.Count; j++) { int id =Convert.ToInt32(((HiddenField)rep.Items[j].FindControl("hidId")).Value); CheckBox cb =(CheckBox)rep.Items[j].FindControl("chkId");
if (cb.Checked) { //执行方法 } } } //执行过后绑定 }

      

    爱华网本文地址 » http://www.413yy.cn/a/25101016/291550.html

    更多阅读

    MFC中进度条控件的使用方法 mfc进度条控件使用

    MFC中进度条控件的使用方法——简介进度条控件是程序开发中基础控件之一,常用于显示程序的进度。在进行程序安装、文件传输时经常用到。其用法也比较简单固定。今天就和大家分享一下其简单的使用方法吧。^_^MFC中进度条控件的使用方

    小众有用技巧-EXCEL篇:3 插入表单控件

    小众有用技巧-EXCEL篇:[3]插入表单控件——简介【 总引言:生活工作中,你也许经常使用OFFICE,但强大的OFFICE很多有用的功能被我们忽略了,这些小技巧也许对于某些任务非常有用,我将陆续推出OFFICE的小众有用技巧系列,敬请关注。适用于OFFICE

    Activex控件无法安装解决办法 mac无法启动解决办法

    Activex控件无法安装解决办法——简介今天我的Activex控件无法安装我把我的解决的办法给大家分享下。Activex控件无法安装解决办法——工具/原料电脑救援Activex控件无法安装解决办法——方法/步骤Activex控件无法安装解决办法 1

    提取并安装纯净版淘宝安全控件 淘宝安全控件下载

    提取并安装纯净版淘宝安全控件——简介  新版淘宝安全控件加入了诸多鸡肋功能,如自动更新、后台启动、常驻后台等。这里使用了一个简单的方法将纯安全控件提取了出来。安装提取出的程序后,既达到了所要效果,又避免了后台常驻。提取

    声明:《Repeater嵌套绑定Repeater repeater控件绑定数据》为网友蝉音弥夏分享!如侵犯到您的合法权益请联系我们删除