DataGrid 实现批量删除

本文分享了如何在ASP.NET中使用DataGrid实现批量删除功能,包括多选和取消多选的操作,通过HTML和后台代码的结合,解决了批量删除的实现难题。
摘要由CSDN通过智能技术生成

今天做了一个批量删除的功能,有很多东西都还是不明确的呀.原理是清楚的,但实现起来有点问题呀.在朋友的帮助处终于实现了。可以多选,并取消多选。希望在这里和大家分享一下:

HTML代码

 

  // 判断多选是否与选中项(没有选中的返回false)
    function slcNo_click()
    {
        if (document.form1.checkboxname.length)
        {
            for (var i=0;i
< document .form1.checkboxname.length;i++)
            {
                if(document.form1.checkboxname[i].checked)
                {
                    return true;
                }
            }
        }
        else
        {
            if(document.form1.checkboxname.checked)
            {
                return true;
            }
        }
        alert("请选择后再操作!");
        return false;
    }
 
    // 多选的全选与取消
    function CheckJs(boolvalue)
    {
        if(document.all.checkboxname.length
> 1)
        {
            for(var i=0;i
< document .all.checkboxname.length;i++)
            {
                document.all.checkboxname[i].checked 
= boolvalue;            
            
}
        }
        else
            document.all.checkboxname.checked 
= boolvalue;
    
}
    //
    
    // 只有全部选中时,“全选”选中
    function SingleCheckJs()
    {
        var flag1
=false;
        
var flag2 =false;
        
        
if (document.form1.checkboxname.length)
        {
            for (var i
=0;i<document.form1.checkboxname.length;i++)
            
{
                if(document.form1.checkboxname[i].checked)
                    flag1 
= true;
                
else
                    flag2 
= true;
            
}
        }
        else
        {
            if(document.form1.checkboxname.checked)
                flag1 
= true;
            
else
                flag2 
= true;
        
}
        
        if(flag1
==true&&flag2==false)
            
document.getElementById("chk").checked  = true;
        
else
            document.getElementById("chk").checked 
= false;
    
}

        </script
>


< asp:TemplateColumn  HeaderText ="标题" >
                                                
< HeaderStyle  HorizontalAlign ="Center"  Width ="260px" ></ HeaderStyle >
                                                
< HeaderTemplate >
                                                    
< input  type ="CheckBox"  id ="chk"  name ="chk"  onclick ="CheckJs(this.checked)" >  全选
                                                
</ HeaderTemplate >
                                                
< ItemTemplate >
                                                    
< input  type ="checkbox"  id ="checkboxname"  name ="checkboxname"  value ='<%#DataBinder.Eval(Container.DataItem,"NewsID")% >  ' οnclick='SingleCheckJs();'/>
                                                                        
<% # GetContent(DataBinder.Eval(Container.DataItem,"Title").ToString()) %>
                                                        
</ font ></ a >
                                                
</ ItemTemplate >
                                            
</ asp:TemplateColumn >

 

后台代码

 

// 执行批量删除
         private   void  btnDelete_Click( object  sender, System.EventArgs e)
        
{    
            
string str = "";
            
string[] ckb = null;
            str 
= Request.Form.Get("checkboxname");
            
                ckb 
= str.Split(new char[] ',' });            
                
for (int i = 0; i < ckb.Length; i++)
                
{
                    
try
                    
{
                        Delete(Convert.ToInt32(ckb[i]));
                    }

                    
catch (Exception ex)
                    
{                    
                        Response.Write(Pad.PadCommon.Func.Error.ErrorString(ex.Message.ToString(),
"1"));
                    }

                }

            
            GridDataBind(
this.listNewsType.SelectedValue.ToString(),Convert.ToInt32(this.ListStatus.SelectedValue.ToString()));
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值