窗体中有一个DataGridView控件和一个CheckBox控件,datagirdview中显示的数据其中有一个字段叫IsAddBed,
问题:当单击datagirdview中的记录时,如果 IsAddBed字段为“是”, 则相应的checkbox控件被选中,应该在哪个事件里添加方法?
添加什么代码?

解决方案 »

  1.   

    C# 怎样判断 datagridview 中的checkbox列是否被选中.     for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if ((bool)dataGridView1.Rows[i].Cells[0].EditedFormattedValue==true)
                    {
                        //TODO
                    }
                    
                }
      

  2.   

    datagirdview和checkbox是两个独立的控件,问题:当单击datagridview中的控件时,如果该条记录中IsAddBed=“是”,则该checkbox将被选中,否则不被选中,代码如何实现,应该在什么事件里添加?
      

  3.   

    为 DataGridView绑定行点击事件,
    点击事件中获得IsAddBed列的值 如果为"是" 则checkbox 设为选中
      

  4.   

    在dataGridView的cellMouseClick事件里写代码if(Convert.ToBoolean(this.dataGridView1.CurrentRow.Cells[IsAddBed的索引].value)==true)
    {
        checkbox1.checked=true;
    }
      

  5.   

    或者 绑定CellClick 事件
    然后dataGridView1.Rows[e.RowIndex].Cell["IsAddBed列索引"].....
    获得值
      

  6.   

    if(Convert.ToBoolean(this.dataGridView1.CurrentRow.Cells[IsAddBed的索引].value)==true)
    {
        checkbox1.checked=true;
    } 还是不行,它提示说Convert.ToBoolean(this.dataGridView1.CurrentRow.Cells[IsAddBed的索引].value没被识别为bool值
      

  7.   

           ///--------------------------
            private void dg_CellClick(object sender, DataGridViewCellEventArgs e)
           {
                string isAddBed = dg.Rows[e.RowIndex].Cells["IsAddBed"].Value.ToString();
                if(isAddBed.Equals("是"))
                    CheckBox1.Checked = true;  
            }
      

  8.   

    ///-------------------------- 
            private void dg_CellClick(object sender, DataGridViewCellEventArgs e) 
          { 
                string isAddBed = dg.Rows[e.RowIndex].Cells["IsAddBed"].Value.ToString(); 
                if(isAddBed.Equals("是")) 
                    CheckBox1.Checked = true;  
            } 
     还是没反应,出不来结果
      

  9.   

    你的CheckBox 是嵌套在GridView里面的吗?
      

  10.   


    你的IsAddBed  是存的 "是"  还是 其他的什么玩意儿
    if(this.dataGridView1.CurrentRow.Cells["列名"].value=="是") 

        checkbox1.checked=true; 

      

  11.   


    if(this.dataGridView1.CurrentRow.Cells["列名"].value.ToString()=="是") 

        checkbox1.checked=true; 

      

  12.   

     if (checkBox1.Checked)
                { label1.Text = "我被选中了"; }
      

  13.   

    你可以在GridView1里面添加一个模板列,将checkbox控件加进去,使得checkbox的checked属性绑定到GridView1数据源的IsAddBed值上。
      

  14.   

    一个简单的程序,然后加上画面,应该用CellClick事件没问题的啊。                private void Form2_Load(object sender, EventArgs e)
            {
                dataGridView1.Rows.Add(2);
                dataGridView1[0,0].Value = "No";
                dataGridView1[1,0].Value = "2";
                dataGridView1[0,1].Value = "No";
                dataGridView1[1,1].Value = "1";
                dataGridView1.Refresh();
            }        private void button1_Click(object sender, EventArgs e)
            {
                Close();
            }        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                string isAddBed = this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
                if (isAddBed.Equals("1"))
                {
                    this.checkBox1.Checked = true;
                }
                else
                {
                    this.checkBox1.Checked = false;    
                }
            }