我现在有一模板列,在项中放CheckBox,而在页眉页放了一个CheckBoc,现在我要实现的是,点页眉的CheckBox,响应一事件,项中的所有CheckBox都被选择,我在.aspx页面中,定义了页眉的CheckBox响应事件,然后在后太代码,写这个事件,但是我在写事件的时候,我无法找到该页眉的CheckBox,开始,我是这么写的,
CheckBox ckb = (CheckBox)DataGrid1.Items[-1].Cells[0].FindControls("CheckBox");
if(ckb.Checked ==true)
{
/\\\\\\\\这里的代码都是控制DataGrid项中CheckBox的改变。
}但是出错,提示Item[-1]中-1不正确,必须为非负数。
然后我改成:
CheckBox ckb = (CheckBox)DataGrid1.FindControls("CheckBox");
if(ckb.Checked ==true)
{
/\\\\\\\\这里的代码都是控制DataGrid项中CheckBox的改变。
}这样的话,提示ckb未实例化,也就是说,根本就没找到CheckBox,
请这个怎么处理,我怎么才能找到页眉的CheckBox????
CheckBox ckb = (CheckBox)DataGrid1.Items[-1].Cells[0].FindControls("CheckBox");
if(ckb.Checked ==true)
{
/\\\\\\\\这里的代码都是控制DataGrid项中CheckBox的改变。
}但是出错,提示Item[-1]中-1不正确,必须为非负数。
然后我改成:
CheckBox ckb = (CheckBox)DataGrid1.FindControls("CheckBox");
if(ckb.Checked ==true)
{
/\\\\\\\\这里的代码都是控制DataGrid项中CheckBox的改变。
}这样的话,提示ckb未实例化,也就是说,根本就没找到CheckBox,
请这个怎么处理,我怎么才能找到页眉的CheckBox????
if (e.Item.ItemType == ListItemType.Header )
....就可以了。
用JavaScript实现
checkbox chk = (checkbox)this.datagrid.columns[那个checkbox所在的列索引].-----这个点后面根本就没有---findcontrol啊
{
if ( e.Item.ItemType == ListItemType.Header )
{
checkAll = (CheckBox)e.Item.FindControl("allCheck");
}
}
{
if ( e.Item.ItemType == ListItemType.Header )
{
checkAll = (CheckBox)e.Item.FindControl("allCheck");
}
}