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