首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DataGrid中遍历CheckBox解决思路

2012-01-28 
DataGrid中遍历CheckBoxDataGrid的一个列中包含了很多的CheckBox,我需要遍历出某一行中此列中的所有CheckB

DataGrid中遍历CheckBox
DataGrid的一个列中包含了很多的CheckBox,我需要遍历出某一行中此列中的所有CheckBox,该如何遍历出呢?下面是我的代码,没有遍历出CheckBox,请各位指教
string   role   =   null;
foreach(object   obj   in   Form1.Controls)
{
if(obj   is   DataGrid)
{
foreach(object   nobj   in   this.DataGrid1.Controls)
{
if(nobj   is   CheckBox)
{
CheckBox   cb   =   (CheckBox)nobj;
if(cb.Checked   ==   true)
{
role   +=   "1 ";
}
else
{
role   +=   "0 ";
}
}
}
}
}

[解决办法]
DataGrid中的CheckBox并不是在this.DataGrid1.Controls中,而是在
this.DataGrid1.Items[行号].Cells[列号].Controls中,所以楼主你要foreach遍历DataGrid1中的每一个Items中的每一个Cells中的控件,判定其是否为CheckBox。
[解决办法]
我需要遍历出某一行中此列中的所有CheckBox???
那不就是一个格吗?
[解决办法]
这个肯定是winform了..所以偶没有参与
[解决办法]
用findcontrol或反射试试
[解决办法]
在模板中设置好每个CheckBox的ID,然后通过一个循环用Cell[i].FindControl[ "ID "]去找,肯定能找到所有的CheckBox

热点排行