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();
        }

posted @ 2005-09-07 13:52  网际飞狐  阅读(1746)  评论(3编辑  收藏  举报