DataGrid中使用CheckBox的CheckedChanged事件
使用DataGrid的过程中常会用到CheckBox控件,并使用它的CheckedChanged事件。使用如下:
1、CheckBox控件需要设置AutoPostBack="true"
2、CheckBox控件的事件须在DataGrid的ItemCreated定义才能生效
3、编写事件代码
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);
}
}
{
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 chbIsActive = (CheckBox)sender;
Guid structureUID = new Guid(chbIsActive.Attributes["StructureUID"]);
bool isActive = chbIsActive.Checked;
IPMStructureManager manager = PMStructureManagerFactory.GetInstance();
manager.SetActive(structureUID, isActive);
this.Binding();
}