DataGrid中通过CHECKBOX来修改库里某个字段的值

前台页如下:
其实主要的思路是,首先把要修改的那个字段绑定为不可见的,然后在后台的
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
                if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem) 
                { 
                       Control myControl =e.Item.Cells[7].FindControl("CheckBox2");
                    ((LinkButton)e.Item.Cells[4].Controls[0]).Attributes.Add("onclick","return confirm('确定要删除?');"); 
     ((LinkButton)e.Item.Cells[6].Controls[0]).Attributes.Add("onclick","return confirm('确定要删除?');"); 
     (myControl as CheckBox).Attributes.Add("onclick","if(!confirm('确定要修改不?') ) return false;"); 
     if(e.Item.Cells[8].Text=="0")
     {
      
      if(myControl!=null)
      {
       (myControl as CheckBox).Checked=true;
          }
     }
      }    
  }
以上是绑定的时候与库里的字段一致,如果手选CHECKBOX来修改的时候
  
                
               
然后在后台重写一下TranChecked这个事件即可
具体代码如下:

protected void TranChecked(object sender, System.EventArgs e) 
  { 
   // sender为事件源,我们可以通过下面的方式获得DataGrid当前行 
   CheckBox cb = (CheckBox)sender;
   DataGridItem item = cb.Parent.Parent as DataGridItem; 
   int id=int.Parse(item.Cells[5].Text);
   if(cb.Checked)
   {
    string sql="update Users set isdelete=0 where id="+id;
    Local.VoidSQL(sql);
   }
   else
   {
    string sql="update Users set isdelete=1 where id="+id;
    Local.VoidSQL(sql);
   }
   // 第一个Parent得到的是item的cell;第二个Parent得到Item

   // 下面就可以操作item的其他cells了 
  }


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-609992/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-609992/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值