无法在DataGridViewCheckBoxColumn中复选框?

Ric*_*ano 15 c# datagridview winforms

我正在创建一个DataGridView带有复选框列和文本列的简单(后面会有更多列,但这是我正在努力工作的最小工作示例).当我运行此代码时,会出现复选框列,但我无法选中复选框.

DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.ThreeState = false;
checkColumn.Width = 20;

MyDataGridView.Columns.Add(checkColumn);
MyDataGridView.Columns.Add(new DataGridViewTextBoxColumn());
Run Code Online (Sandbox Code Playgroud)

由于在这种情况下没有出现任何内容,我想添加一些虚拟数据.

for (int i = 0; i < 10; i++)
{
    MyDataGridView.Rows.Add(new Object[] { true, "test"});
}
Run Code Online (Sandbox Code Playgroud)

通常情况下,DataGridView会填充自定义对象,就像在列表数据绑定我的这个问题,但我认为这将是更好的在移动之前获得的基本方法这方面的工作.

我不是试图以编程方式设置检查状态,而是让用户选择然后在各种其他事件处理程序中使用该选择.

Lui*_*ada 32

代码似乎很好,所以我可以告诉你检查并确保DataGridView正确设置以下属性:ReadOnly设置为FalseEnabled设置为True.

  • 你是对的; 我错过了我的样本中的一些代码,因为它的一部分仍留在设计器中.`ReadOnly`属性是问题所在. (3认同)

Hei*_*ati 6

我有同样的问题,我的解决方案是改变

"EditMrogra"中的"EditMode"为默认的"EditOnKeystrokeOrF2",

这解决了我的问题.

以上所有建议均已实施.

亲切的问候Heider


Abd*_*man 5

只需更改DataGridView的readonly属性

     MyDataGridView.ReadOnly = false; 
Run Code Online (Sandbox Code Playgroud)


小智 5

即使复选框列不是表设置,表本身也可以设置为只读,该设置将覆盖列设置。