批量删除记录时如何实现全选【总结】
点击次数:82 次 发布日期:2008-11-06 07:54:53 作者:源代码网
|
首先来说一说如何利用JS实现全选 往页面上拖一个GridView,设置好数据源,并为GridView添加一个模板列,往模板列里添加一个chekcbox,比如下面的代码 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="ProductID" HeaderText="ProductID" InsertVisible="False" ReadOnly="True" SortExpression="ProductID" /> <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" /> <asp:BoundField DataField="SupplierID" HeaderText="SupplierID" SortExpression="SupplierID" /> <asp:BoundField DataField="CategoryID" HeaderText="CategoryID" SortExpression="CategoryID" /> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="chk_Del" runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 软件开发网 www.mscto.com 接下来往页面上添加一个checkbox控件 <asp:CheckBox ID="chk_JS" runat="server" Text="全选(JS)" /> 并为该控件编写JS脚本如下: <script type="text/javascript"> //根据传入的checkbox的选中状态设置所有checkbox的选中状态 function selectAll(obj) ...{ var allInput = document.getElementsByTagName("input"); //alert(allInput.length); var loopTime = allInput.length; for(i = 0;i < loopTime;i++) ...{ //alert(allInput.type); if(allInput.type == "checkbox") ...{ allInput.checked = obj.checked; } } } </script> 基本效果就有了,接下来我们在点缀一下。在网页中添加一个button <asp:Button ID="btn_DeleteRecords" runat="server" Text="删除选中记录" /> 添加JS脚本 //判断是否选中记录,用户确认删除 function judgeSelect() ...{ var result = false; var allInput = document.getElementsByTagName("input"); var loopTime = allInput.length; for(i = 0;i < loopTime;i++) ...{ if(allInput.checked) ...{ result = true; break; } } if(!result) ...{ alert("请先选则要删除的记录!"); return result; } result = confirm("你确认要删除选定的记录吗?"); return result; } 2通过服务器端代码实现全选 向页面同添加一个CheckBox并将AutoPostBack属性设置成true,并为它添加CheckedChanged事件 <asp:CheckBoxID="chk_Server" runat="server" Text="全选(Server)"AutoPostBack="True" /> 事件代码如下 int a = this.GridView1.Rows.Count; for (int i = 0; i < a; i++) ...{ CheckBox chk = (CheckBox)this.GridView1.Rows.FindControl("chk_Del"); chk.Checked = this.chk_Server.Checked; } 源代码网推荐 源代码网供稿. |
