for(int   i=0;i<this.DataGrid1.Items.Count;i++)   
  {   
    
    CheckBox     cb=(CheckBox)this.DataGrid1.Items[i].FindControl("Check");   
  if(cb.Checked==true)   
  {   
  operateDb.dbConn();   
  string   id=cb.Text;   
  string   in_sql="insert   into   user_usergroup   (groupname,uname)values('"+username+"','"+id+"')";   
  operateDb.exeCute(in_sql);   
  operateDb.dbClose();   
  }   
    
  }   
  为什么if(cb.Checked==true)这句会错啊!   
  我现在在DataGrid里添加模板列   用CheckBox     来操作多选   全选的然后点击提交按钮对数据库插入,那位搞人给解决一下啊!

解决方案 »

  1.   

    (CheckBox)this.DataGrid1.Items[i].FindControl("Check");  
     确实得到了一个CheckBox 类么?
      

  2.   

    if(cb.Checked==true)我选种也是false 没选种也是false
      

  3.   

    postback以后重新绑定一下
    要不然数据会丢失
      

  4.   

    我用的2.0 DataGridView  我是用 (bool).Rows[i].Cells["Check"].Value==true 这样判断的
    DataGrid 很久不用 不清楚了
      

  5.   

    string vid="";
    for(int i=0;i<MyDataGrid.Items.Count;i++)
    {
    CheckBox chk = (CheckBox)MyDataGrid.Items[i].FindControl("cb_type");  //定义一个CheckBox对象
    if(chk.Checked) //判断是否被选中
    {
    if(vid!="")
    vid += "," + MyDataGrid.DataKeys[i].ToString();
    else
    vid = MyDataGrid.DataKeys[i].ToString();

    }
    }
      

  6.   

    private void btnInsert_Click(object sender, System.EventArgs e)
    {
    foreach(DataGridItem dgi in DataGrid1.Items)
    {
    CheckBox cb = (CheckBox)dgi.FindControl("cbSelect");
    if(cb.Checked)
    {
    //以下执行删除操作
    int nID = int.Parse(dgi.Cells[0].Text);
    string strSql = "insert XXX ...." + nID;
    ExecuteSql(strSql);//执行SQL
    }
    }
    BindData();
    }
      

  7.   

    DataGrid中的EnableViewState属性变一下就行了
      

  8.   

    CheckBox     cb=(CheckBox)this.DataGrid1.Items[i].FindControl("Check");   
    这句中 你确定没 找到的是一个checkbox