logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> Asp/Asp.Net教程 -> .net开发中批量删除记录时如何实现全选功能
回复
标题:.net开发中批量删除记录时如何实现全选功能收藏 编辑 删除 楼主 | 上一篇 下一篇
天下有雪
头像
等级:职业侠客
权限:普通用户
积分:72
金钱:214
声望:92
经验:92
发帖数:92
注册:2008年9月1日
资料 短消息2008-9-22 15:50:08
做大批量的数据删除时,如果有个全选按钮把多个页面上显示的记录全都选中删除那比一条条的删除要人性化得多,接下来说一说如何实现,其实网上一搜有好多文章都是说如何进行批量删除的,大体上可以分为两大类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通过服务器端代码实现全选

签名

2008-9-22 15:50:08 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com