现有datagridview1,内含DataGridViewCheckBoxColumn列,当在某一行DataGridViewCheckBoxColumn打钩时,希望获取该行和指定列相交的那一个单元格的值,代码该如何写?

解决方案 »

  1.   

            foreach(GridViewRow row in GridView1.Rows) //遍历所有行
            {
                if ((row.Cells[10].Controls[0] as CheckBox).Checked) //假定下标为10的列是DataGridViewCheckBoxColumn,判断是否选中
                {
                    Response.Write(row.Cells[0].Text); //如果该行是选中的,则打印这行第一个单元格文本
                }
            }
      

  2.   

    出现如下提示:找不到类型或命名空间名称“GridViewRow”(是否缺少 using 指令或程序集引用?)
      

  3.   

    winform的来了
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (Convert.ToBoolean(row.Cells[10].Value))//假定下标为10的列是复选
                    {
                        MessageBox.Show(row.Cells[0].Value.ToString());  //有多少行打勾的,就把这些行的第一列show出来
                    }
                }
      

  4.   

    CellValueChanged事件中判断
    参考
      

  5.   

    现在有另一个问题,我想把获取到的这个值先赋值给变量num,然后修改datagridview1绑定的1.mdb里指定的单元格的值,我的代码如下:            foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (Convert.ToBoolean(row.Cells[0].Value))
                    {
                        string Cnum =(row.Cells[1].Value.ToString());
                    }
                } 
                string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb";
                OleDbConnection AconnStr = new OleDbConnection(Afile);
                OleDbCommand Icmd = new OleDbCommand("update aaa set bbb='c' where Value=Cnum",AconnStr);
                AconnStr.Open();
                int ExeNum = Icmd.ExecuteNonQuery();
                AconnStr.Close();
                this.Hide();问题是怎么在sql语句中以变量num作为where的条件?
      

  6.   


                OleDbCommand Icmd = new OleDbCommand("update aaa set bbb='c' where Value="+Cnum,AconnStr); 
      

  7.   

    当前上下文中不存在名称“Cnum”有点头晕了
      

  8.   

    你的变量叫什么就写什么
    OleDbCommand Icmd = new OleDbCommand("update aaa set bbb='c' where Value="+num,AconnStr);
      

  9.   

    我的变量就叫Cnum,是提示:当前上下文中不存在名称“Cnum”
      

  10.   

    string Cnum = "";       
         foreach (DataGridViewRow row in dataGridView1.Rows) 
                { 
                    if (Convert.ToBoolean(row.Cells[0].Value)) 
                    { 
                        Cnum =(row.Cells[1].Value.ToString()); 
                    } 
                } 
                string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb"; 
                OleDbConnection AconnStr = new OleDbConnection(Afile); 
                OleDbCommand Icmd = new OleDbCommand("update aaa set bbb='c' where Value='"+ Cnum +"'",AconnStr); 
                AconnStr.Open(); 
                int ExeNum = Icmd.ExecuteNonQuery(); 
                AconnStr.Close(); 
                this.Hide(); 
      

  11.   

    int ExeNum = Icmd.ExecuteNonQuery();     
    这句提示:标准表达式中数据类型不匹配。