DataGridViewCheckBoxColumn不会为所有行显示CheckBoxCell

时间:2018-01-31 19:21:46

标签: c# winforms datagridview datagridviewcheckboxcell

我一直在尝试用设计器和代码将DataGridViewCheckBoxColumn添加到现有的DataGridView几个小时。 CheckBoxCell没有在UI上显示方形(或状态)。但是,当我尝试了一些我发现的代码(并忘记更改索引)时,我得到了正常工作并正常显示。

所以我想知道为什么你不能在DataGridView.Columns的最后一个索引处使用DataGridViewCheckBoxColumn?

更明确:

为什么这样做

MyDataGridView.Columns.Insert(0, myCheckBoxColumn);

当这不起作用时

MyDataGridView.Columns.Insert(7, myCheckBoxColumn);

注意:myCheckBoxColumn变量在两行之间没有变化。它完全相同,与实际问题无关。

编辑:

使用像bellow这样的Add方法无法解决问题。

MyDataGridView.Columns.Add(myCheckBoxColumn);

解决:

我的问题与处理DataGridView的CellPainting事件有关。在函数结束时,DataGridViewCellPaintingEventArgs的Handled属性设置为true。这导致DataGridViewCheckBoxColumn无法正常显示。

1 个答案:

答案 0 :(得分:1)

如果要在右侧添加列,请改用DataGridViewColumnCollection的Add方法:

Locale[] locs= Locale.getAvailableLocales();

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumncollection.add(v=vs.110).aspx