DataGrid中使用CheckBox的CheckedChanged事件

使用DataGrid的过程中常会用到CheckBox控件,并使用它的CheckedChanged事件。使用如下:

1、CheckBox控件需要设置AutoPostBack="true"
< asp:CheckBox id = " chbIsActive "  runat = " server "  AutoPostBack = " true " ></ asp:CheckBox >

2、CheckBox控件的事件须在DataGrid的ItemCreated定义才能生效
         private   void  grdStructure_ItemCreated( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            
{
                
                CheckBox chbIsActive 
= e.Item.FindControl("chbIsActive"as CheckBox;
                chbIsActive.CheckedChanged 
+= new EventHandler(chbIsActive_CheckedChanged);
            }

        }

3、编写事件代码
         private   void  chbIsActive_CheckedChanged( object  sender, EventArgs e)
        
{
            CheckBox chbIsActive 
= (CheckBox)sender;

            Guid structureUID 
= new Guid(chbIsActive.Attributes["StructureUID"]);
            
bool isActive = chbIsActive.Checked;

            IPMStructureManager manager 
= PMStructureManagerFactory.GetInstance();
            manager.SetActive(structureUID, isActive);

            
this.Binding();
        }

你可能感兴趣的:(checkbox)