give it an ID, then doforeach (DataGridItem dgi in YourDataGrid.Items)
{
  CheckBox cb = (CheckBox)dgi.FindControl("YourCheckBoxID");
  if (cb != null)
  {
 //.....
  }
}

解决方案 »

  1.   

    CheckBox cb = (CheckBox)this.Users.Items[i].FindControl("CheckBoxName");
      

  2.   

    不要使用Cells[0].Controls[0] 访问checkbox控件,因为第一个控件可能不是 Checkbox,而是literal控件,所以建议你使用以下方法访问:Cells[0].FindControl("MyCheckBox") 访问该控件,其中 mycheckbox是你的checkbox控件的ID
      

  3.   

    可以设置一个总的全选按钮CheckBox,id为check_all
    编写此事件private void check_all_CheckedChanged(object sender, System.EventArgs e)
    {
       System.Web.UI.WebControls.CheckBox chkExport ;

       foreach(DataGridItem oDataGridItem in datagrid控件id值.Items)
      {
    chkExport = (CheckBox)oDataGridItem.FindControl("check_id");
    chkExport.Checked = true;
      }

    }
      

  4.   

    CheckBox cb = (CheckBox)this.Users.Items[i].FindControl("CheckBoxName");
      

  5.   

    还是有问题啊,按你们的findcontrol方法,a应该是checkbox列中各个checkbox的引用了,但是编译时提示:未将对象引用设置到对象的实例
    这是原代码,大家帮忙看看吧,就差这个,项目就出来了,真急人!!string selectedusers="";
    for(int i=0;i<this.Users.Items.Count;i++)
    {
    CheckBox a = (CheckBox)this.Users.Items[i].FindControl("checkBoxGroup");
    if(a.Checked==true)//这一行出错!
    {
        selectedusers= selectedusers+this.Users.Items[i].Cells[5].Text;
    if(i!=this.Users.Items.Count-1)
    {
    selectedusers= selectedusers+",";

    }
    }   
    }
      

  6.   

    CheckBox cb = (CheckBox)dgi.FindControl("YourCheckBoxID");
      if (cb != null)
      {
     //.....
      }