DataGridViewCheckBoxColumn 不显示所有行的 CheckBoxCell
DataGridViewCheckBoxColumn does not display CheckBoxCell for all rows
几个小时以来,我一直在尝试通过设计器和代码将 DataGridViewCheckBoxColumn 添加到现有的 DataGridView。 CheckBoxCell 未在 UI 上显示正方形(或状态)。但是,当我尝试找到一些我找到的代码时(忘记更改索引),我让它工作并正常显示。
所以我想知道为什么不能在 DataGridView.Columns 的最后一个索引处使用 DataGridViewCheckBoxColumn?
更明确地说:
为什么这样做有效
MyDataGridView.Columns.Insert(0, myCheckBoxColumn);
当这不起作用时
MyDataGridView.Columns.Insert(7, myCheckBoxColumn);
注意:myCheckBoxColumn 变量在两行之间没有变化。完全一样,与实际问题无关
编辑:
使用下面的添加方法并不能解决问题。
MyDataGridView.Columns.Add(myCheckBoxColumn);
已解决:
我的问题与 DataGridView 的 CellPainting 事件的处理有关。在函数结束时,DataGridViewCellPaintingEventArgs 的 属性 Handled 被设置为 true。这导致 DataGridViewCheckBoxColumn 无法正确显示。
如果要在右侧添加一列,请改用DataGridViewColumnCollection的Add方法:
MyDataGridView.Columns.Add(myCheckBoxColumn);
几个小时以来,我一直在尝试通过设计器和代码将 DataGridViewCheckBoxColumn 添加到现有的 DataGridView。 CheckBoxCell 未在 UI 上显示正方形(或状态)。但是,当我尝试找到一些我找到的代码时(忘记更改索引),我让它工作并正常显示。
所以我想知道为什么不能在 DataGridView.Columns 的最后一个索引处使用 DataGridViewCheckBoxColumn?
更明确地说:
为什么这样做有效
MyDataGridView.Columns.Insert(0, myCheckBoxColumn);
当这不起作用时
MyDataGridView.Columns.Insert(7, myCheckBoxColumn);
注意:myCheckBoxColumn 变量在两行之间没有变化。完全一样,与实际问题无关
编辑:
使用下面的添加方法并不能解决问题。
MyDataGridView.Columns.Add(myCheckBoxColumn);
已解决:
我的问题与 DataGridView 的 CellPainting 事件的处理有关。在函数结束时,DataGridViewCellPaintingEventArgs 的 属性 Handled 被设置为 true。这导致 DataGridViewCheckBoxColumn 无法正确显示。
如果要在右侧添加一列,请改用DataGridViewColumnCollection的Add方法:
MyDataGridView.Columns.Add(myCheckBoxColumn);