DataGridView我能不能指定某列的checkbox的enable属性,就是要禁用某列的checkbox,而且能分辨出来,不要ReadOnly = true,那看不出效果。

解决方案 »

  1.   

    应该可以的,但不知道你用什么控制这个checkbox,
      

  2.   

    可以啊
      你在gridview中放个checkbox
      然后在checkbox的事件中写东西就是了
    不过这样的话就要用for遍历你选择的checkbox  不知道你是不是要这样的
      

  3.   

    DataGridView是绑定数据库的,checkbox是从数据库读出来的,我是想让ReadOnly = true的列中的checkbox看起来是enable=false的效果
      

  4.   

    遍历datagridview,然后设置checkbox所在列的值为FALSE即可
    如 
    for (int i = 0; i < this.select_datagridview.Rows.Count; i++)
    {
         string re = this.select_datagridview.Rows[i].Cells[0].EditedFormattedValue.ToString();
         if (re == "True")
         {
                this.select_datagridview.Rows[i].Cells[0].Value = false;
         }
         else continue;
    }
      

  5.   

    我要的是DataGridView里面的checkbox的enable=false啊
      

  6.   

    楼主的意思可能是checkbox的选中的就不能访问,没有选中的可以访问。这个好办的
    for (int i = 0; i  < this.select_datagridview.Rows.Count; i++) 

        if(((checkBox)this.select_datagridview.Rows[i].findControl("checkBoxName")).checked)
            (checkBox)this.select_datagridview.Rows[i].findControl("checkBoxName")).enable=false; 
    }
      

  7.   

    我只要把datagridview里面的checkBox设置为不可访问就行了,但要带有外观的暗示,就试普通checkBox的enable=false效果。所以如果“(checkBox)this.select_datagridview.Rows[i].findControl("checkBoxName")).enable=false; ”能实现的话这一句就够了。但哪来的findControl啊,还有checkBox是动态生成的,checkBoxName也是没有的。
      

  8.   

    private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                if (this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString() == "True")
                {
                    this.dataGridView1.Rows[e.RowIndex].Cells[0].ReadOnly = true;
                    this.dataGridView1.Rows[e.RowIndex].Cells[0].Style.BackColor = System.Drawing.SystemColors.Control;
                    this.dataGridView1.Rows[e.RowIndex].Cells[0].Style.ForeColor  = System.Drawing.SystemColors.Control;
                }
            }
      

  9.   

    楼上,你的那个效果我一句                this.明细表.Columns[21].DefaultCellStyle.BackColor = System.Drawing.SystemColors.ButtonFace;就可以搞定,但这不是我要的效果阿,我要的是像enable=false那样的效果。
      

  10.   

    我要改变的是checkBox控件的样式而不是那个格式的样式