对带有Checkbox的DataGrid数据删除确认操作

有2种方法:一种是在客户端判断,另一是在服务端判断

在客户端判断
(1)脚本
None.gif              < asp:DataGrid  id ="DataGrid1"  runat ="server"  AutoGenerateColumns ="False"  Width ="472px" >
None.gif                
< Columns >
None.gif                    
< asp:TemplateColumn >
None.gif                        
< ItemTemplate >
None.gif                            
< asp:CheckBox  id ="Checkbox2"  runat ="server" ></ asp:CheckBox >
None.gif                        
</ ItemTemplate >
None.gif                    
</ asp:TemplateColumn >
None.gif                    
< asp:BoundColumn  DataField ="LastName"  HeaderText ="LastName" ></ asp:BoundColumn >
None.gif                    
< asp:BoundColumn  DataField ="FirstName"  HeaderText ="FirstName" ></ asp:BoundColumn >
None.gif                
</ Columns >
None.gif            
</ asp:DataGrid >
None.gif            
< asp:Button  id ="Button1"  runat ="server"  Text ="Button" ></ asp:Button >

(2)JavaScript
 
None.gif          < script language = " javascript " >
None.gif        
function  SelCount()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
var sum = 0;
InBlock.gif            
var RowCount = <%=RowCount%>;//document.all.DataGrid1.rows.length;
InBlock.gif
            for(j= 1;j<RowCount+1;j ++ )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if(typeof(document.all.DataGrid1.rows(j).cells(0).children(0)) == "object")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
if( document.all.DataGrid1.rows(j).cells(0).children(0).checked == true )
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                     sum 
= sum +1;
ExpandedSubBlockEnd.gif                    }
            
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif            
if( sum >0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return window.confirm("确定删除么?");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
var message = "请选择要删除的数据!";
InBlock.gif                window.alert( message );
InBlock.gif                
return false;
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

None.gif        
</ script >

(3)代码
None.gif         public int RowCount;
            
private   void  Page_Load( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//页面初试化时进行数据绑定
InBlock.gif
            if(!IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                DataGridDataBind();
ExpandedSubBlockEnd.gif            }

InBlock.gif            Button1.Attributes.Add(
"onclick","return SelCount();");
ExpandedBlockEnd.gif        }

None.gif
None.gif        
private   void  Button1_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//执行删除操作
InBlock.gif
            DataGridDataBind();
ExpandedBlockEnd.gif        }
DataGridDataBind是数据绑定方法,在这个方法中要RowCount 赋行数值

在服务端判断
(1)脚本
None.gif              < asp:DataGrid  id ="DataGrid1"  runat ="server"  AutoGenerateColumns ="False"  Width ="472px" >
None.gif                
< Columns >
None.gif                    
< asp:TemplateColumn >
None.gif                        
< ItemTemplate >
None.gif                            
< asp:CheckBox  id ="Checkbox2"  runat ="server" ></ asp:CheckBox >
None.gif                        
</ ItemTemplate >
None.gif                    
</ asp:TemplateColumn >
None.gif                    
< asp:BoundColumn  DataField ="LastName"  HeaderText ="LastName" ></ asp:BoundColumn >
None.gif                    
< asp:BoundColumn  DataField ="FirstName"  HeaderText ="FirstName" ></ asp:BoundColumn >
None.gif                
</ Columns >
None.gif            
</ asp:DataGrid >
None.gif            
< asp:Button  id ="Button1"  runat ="server"  Text ="Button" ></ asp:Button >
None.gif            
< input  type ="button"  id ="btnRemove"  runat ="server"  value ="Delete"  style ="DISPLAY:none" >
(2)JavaScript
None.gif < script language = " javascript " >
None.gif            
function  DeleteItems(msg)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif {
InBlock.gif                
if(!confirm(msg))
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
return;
ExpandedSubBlockEnd.gif                }

InBlock.gif                
else
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    __doPostBack('btnRemove','');                
ExpandedSubBlockEnd.gif                }

ExpandedBlockEnd.gif            }

None.gif        
</ script >
(3)代码
None.gif          private   void  Page_Load( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//页面初试化时进行数据绑定
InBlock.gif
            if(!IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                DataGridDataBind();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

None.gif
None.gif        
private   void  Button1_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//判断是否有选中 如果有选中的数据
InBlock.gif
            Page.RegisterStartupScript( "Delete""<script>DeleteItems('你确认要删除么?');</script>" ); 
ExpandedBlockEnd.gif        }

None.gif
None.gif        
private   void  btnRemove_ServerClick( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//执行删除操作
InBlock.gif
            DataGridDataBind();
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/timsoft/articles/414822.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值