DATAGRID中的CHECKBOX
CheckBox deleteall = (CheckBox) buy.FindControl("all");
if(deleteall.Checked == true)
{
foreach(DataGridItem i in buy.Items)
{
CheckBox deletethis = (CheckBox) i.FindControl("chb");
deletethis.Checked = true;
}
}
错误:未将对象引用设置到对象的实例。???
buy 是DATAGRID的ID,all是这个DATAGRID的摸版列的HEADERTEMPLATE中的一个checkbox ,chb 是ITEMTEMPLATE中的checkbox,我想实现的是当我选中all的时候,则将所有在ITEMTEMPLATE中的checkbox选中~~
问题点数:0、回复次数:11Top
1 楼srz007(呵呵)回复于 2004-12-01 13:05:21 得分 0
参考这里
http://community.csdn.net/Expert/TopicView.asp?id=3604992Top
2 楼xiahouwen(武眉博<活靶子.NET>)回复于 2004-12-01 13:06:48 得分 0
deleteall 或者 deletethis 是空的
就是说FindControl没有找到相应的控件
应该在FindControl后先判断是不是null
然后再操作
还有 应该用item的findcontrol方法Top
3 楼lyhigher(lyhigher)回复于 2004-12-01 13:18:57 得分 0
我这个CHECKBOX是在HEADERTEMPLATE里面呀,也算ITEM中的?Top
4 楼lyhigher(lyhigher)回复于 2004-12-01 13:26:19 得分 0
活靶子兄 首先我这个deleteall是空的,但为什么会是空的了?不明白,我确实有个id="all"的CHECKBOX是在HEADERTEMPLATE里面呀Top
5 楼zhounet(阳光棚~~)回复于 2004-12-01 13:27:54 得分 0
bool check;
int i=0;
foreach(DataGridItem tem in DataGrid1.Items)
{
check=((CheckBox)tem.FindControl("CheckBox1")).Checked;
if(check==true)
{
up.pId=tem.Cells[1].Text;
Adminer ad=new Adminer();
ad.DelUserPosition(up);
i=1;
}
}Top
6 楼lyhigher(lyhigher)回复于 2004-12-01 13:31:56 得分 0
现在的问题是 我这里似乎没有找到这个ID="ALL"的CHECKBOX 郁闷中...Top
7 楼softchao(小款※人生就像大便, 往往努力了半天却只迸出几个屁 )回复于 2004-12-01 13:36:16 得分 0
for(int i=0;i<this.datagrid.Items.Count;i++)
{
CheckBox deleteall=(CheckBox)this.datagrid.Items[i].FindControl("all");
if(deleteall.Checked)
{
CheckBox deletethis=(CheckBox)this.datagrid.Items[i].FindControl("chb");
deletethis.Checked = true;
}
}Top
8 楼zhangA()回复于 2004-12-01 13:36:56 得分 0
你可以在运行后看页面的html原文件,看看checkbox的名字。Top
9 楼woody420(轨の迹)回复于 2004-12-01 13:43:05 得分 0
在private void buy_ItemCreated(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)事件中可以找到你所说的textbox
如下:
CheckBox cb = (CheckBox)e.Item.FindControl("all");
if(cb != null)
if(cb.Checked == true)
{//选中的操作
}
else
{
}Top
10 楼lyhigher(lyhigher)回复于 2004-12-01 13:53:59 得分 0
可以找到 但是页面初始化的时候我是没有选中这个CHECKBOX的呀,cb.Checked != true
当我在页面选中这个的时候,不能再次触发这个事件呀Top
11 楼woody420(轨の迹)回复于 2004-12-01 14:03:49 得分 0
把Checkbox设为autopostbackTop




