批量删除记录时如何实现全选【总结】

转载 2007年09月13日 21:52:00

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

 接下来往页面上添加一个checkbox控件
<asp:CheckBox ID="chk_JS" runat="server" Text="全选(JS)" onclick="selectAll(this)"/>
并为该控件编写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[i].type);
            if(allInput[i].type == "checkbox")
            
...{
                allInput[i].checked 
= obj.checked;
            }

        }

    }

</script>

基本效果就有了,接下来我们在点缀一下。在网页中添加一个button
<asp:Button ID="btn_DeleteRecords" runat="server" OnClientClick="return judgeSelect();" Text="删除选中记录" />
添加JS脚本

//判断是否选中记录,用户确认删除
function judgeSelect()
...{
    
var result = false;
    
var allInput = document.getElementsByTagName("input");
    
var loopTime = allInput.length;
    
for(i = 0;i < loopTime;i++)
    
...{
        
if(allInput[i].checked)
        
...{
            result 
= true;
            
break;
        }

    }

    
if(!result)
    
...{
        alert(
"请先选则要删除的记录!");
        
return result;
    }

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

2通过服务器端代码实现全选
向页面同添加一个CheckBox并将AutoPostBack属性设置成true,并为它添加CheckedChanged事件
<asp:CheckBox ID="chk_Server" runat="server" OnCheckedChanged="chk_Server_CheckedChanged" Text="全选(Server)" AutoPostBack="True" />
事件代码如下

 

int a = this.GridView1.Rows.Count;
for (int i = 0; i < a; i++)
...{
    CheckBox chk 
= (CheckBox)this.GridView1.Rows[i].FindControl("chk_Del");
    chk.Checked 
= this.chk_Server.Checked;
}

如何在全选,反选后进行批量删除数据

(1)首先将编写的sel.js文件复制到js文件夹 sel.js文件的代码如下: //全选 function selectAll(oval) {  var chs = document.get...

GridView批量删除记录、全选及弹出确认对话框

GridView批量删除记录、全选及弹出确认对话框 GridView批量删除      GridView添加主键       全选记录       确认删除           GridView控件允...

JS实现复选框的全选和批量删除功能(php后端)

JS实现复选框的全选和批量删除功能(php后端)

jQuery实现添加,批量删除,全选

#table { width: 630px; } 用户: 密码: 邮箱: 有户名 ...

实现购物车结算功能:批量/全部删除,全选,单价/总价,数量增减,页面隐藏/显示

html> html lang="en"> head> meta charset="UTF-8"> title>Titletitle> style type="text/css...

实现购物车结算功能:批量和全部删除,全选和反选,单价和总价,数量增减,页面隐藏和显示

需求: 要求:技术要求(html+css+angularjs) 1.  完成页面布局,如图1.1(button按钮可以用普通按钮) 2.Ø声明数据对象,初始化商品信息,数据自拟且不低于四条 ...

android模拟数据实现全选反选批量删除

此贴没有大量水帖文字,读者请放心,代码简单明了,轻松入门,高手勿喷! 废话不多说直接看效果,附完整代码: MyAdapter适配器 public class MyAd...

jquery实现限输入整数,全选反选,批量删除,设置排序

$(document).ready(function () { //排序文本框限输入整数 $("input[id^='sort']").keydow...

ListView长按弹出CheckBox实现全选,反选,批量删除

ListView长按弹出CheckBox实现全选,反选,批量删除 主布局:main_activity.xml

js实现全选,全不选,反选,批量删除等(Yii)

这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例 比如海内,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:批量删除记录时如何实现全选【总结】
举报原因:
原因补充:

(最多只允许输入30个字)