在Checkbox上操作,单击datagridview ...

cboshdave

成员
已加入
2014年12月11日
留言内容
24
编程经验
1-3
我的Datagridview正常显示,并在末尾添加了一个复选框列。我需要在我的复选框上单击ACT。我正在尝试类似以下内容的方法,但是它从来没有碰到错误的部分。我所得到的都是真的。我需要允许用户选中该框(然后对其执行操作),但阻止Uncheck。

C#:
        private void dgvCOB_CellContentClick(object sender, DataGridViewCellEventArgs e)        
       {
            dgvCOB.EndEdit(); //Trying to end edit mode and "Post" the value??
            if (e.ColumnIndex.ToString() == "6")  //Checking the column of the cell clicked. 6 is the column with the checkbox.
            {
                DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dgvCOB.Rows[e.RowIndex].Cells[e.ColumnIndex];  //grab the value of the current entry
                if (chk.Selected == true)
                {
                    //chk.Selected = false; //This was in an example.  Not sure what the purpose is.  
                    MessageBox.Show("We are checked");
                    
                }
                else
                {
                    //chk.Selected = false;  //This was in an example.  Not sure what the purpose is.
                    MessageBox.Show("You cannot clear a check box.");
                    dgvCOB.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true; //Set the state of the checkbox back to checked.
                    this.Refresh();
                }
            }
        }
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
选中和选中是两件不同的事情。
 

cboshdave

成员
已加入
2014年12月11日
留言内容
24
编程经验
1-3
因此,多了一些思路,才能够使用.Value。不得不转换为布尔值才能读取它,但是随后它就设置好了。因此,解决了。显然,我只需要睡觉就可以了!
 
最佳 底部