手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >批量删除记录时如何实现全选方法总结
批量删除记录时如何实现全选方法总结
摘要:做大批量的数据删除时,如果有个全选按钮把多个页面上显示的记录全都选中删除那比一条条的删除要人性化得多,接下来说一说如何实现,其实网上一搜有好...

做大批量的数据删除时,如果有个全选按钮把多个页面上显示的记录全都选中删除那比一条条的删除要人性化得多,接下来说一说如何实现,其实网上一搜有好多文章都是说如何进行批量删除的,大体上可以分为两大类1:利用JS脚本实现全选。2:在服务器端实现全选

首先来说一说如何利用JS实现全选

往页面上拖一个GridView,设置好数据源,并为GridView添加一个模板列,往模板列里添加一个chekcbox,比如下面的代码

<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataKeyNames="ProductID"

DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundFieldDataField="ProductID"HeaderText="ProductID"InsertVisible="False"

ReadOnly="True"SortExpression="ProductID"/>

<asp:BoundFieldDataField="ProductName"HeaderText="ProductName"SortExpression="ProductName"/>

<asp:BoundFieldDataField="SupplierID"HeaderText="SupplierID"SortExpression="SupplierID"/>

<asp:BoundFieldDataField="CategoryID"HeaderText="CategoryID"SortExpression="CategoryID"/>

<asp:TemplateField>

<ItemTemplate>

<asp:CheckBoxID="chk_Del"runat="server"/>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>接下来往页面上添加一个checkbox控件

<asp:CheckBoxID="chk_JS"runat="server"Text="全选(JS)"onclick="selectAll(this)"/>

并为该控件编写JS脚本如下:<scripttype="text/javascript">

//根据传入的checkbox的选中状态设置所有checkbox的选中状态

functionselectAll(obj)

{

varallInput=document.getElementsByTagName("input");

//alert(allInput.length);

varloopTime=allInput.length;

for(i=0;i<loopTime;i++)

{

//alert(allInput[i].type);

if(allInput[i].type=="checkbox")

{

allInput[i].checked=obj.checked;

}

}

}

</script>基本效果就有了,接下来我们在点缀一下。在网页中添加一个button

<asp:ButtonID="btn_DeleteRecords"runat="server"OnClientClick="returnjudgeSelect();"Text="删除选中记录"/>

添加JS脚本

//判断是否选中记录,用户确认删除

functionjudgeSelect()

{

varresult=false;

varallInput=document.getElementsByTagName("input");

varloopTime=allInput.length;

for(i=0;i<loopTime;i++)

{

if(allInput[i].checked)

{

result=true;

break;

}

}

if(!result)

{

alert("请先选则要删除的记录!");

returnresult;

}

result=confirm("你确认要删除选定的记录吗?");

returnresult;

}

2通过服务器端代码实现全选

向页面同添加一个CheckBox并将AutoPostBack属性设置成true,并为它添加CheckedChanged事件

<asp:CheckBoxID="chk_Server"runat="server"OnCheckedChanged="chk_Server_CheckedChanged"Text="全选(Server)"AutoPostBack="True"/>

事件代码如下

inta=this.GridView1.Rows.Count;

for(inti=0;i<a;i++)

{

CheckBoxchk=(CheckBox)this.GridView1.Rows[i].FindControl("chk_Del");

chk.Checked=this.chk_Server.Checked;

}

【批量删除记录时如何实现全选方法总结】相关文章:

gridview实现服务器端和客户端全选的两种方法

ASP.NET中实现获取调用方法名

asp.net repeater实现批量删除时注册多选框id到客户端

.NET逻辑分层架构总结

asp.net后台弹窗如何实现

ASP.net 动态加载控件时一些问题的总结

ASP.NET MVC3 实现全站重定向的简单方法

手把手教你在.NET中创建Web服务实现方法

利用AJAX与数据岛实现无刷新绑定

asp.net遍历目录文件夹和子目录所有文件

精品推荐
分类导航