【发布时间】:2019-09-22 07:33:06
【问题描述】:
我的表单有一个 DataGridView 控件,Column 0 的类型为 DataGridViewImageColumn。
首次显示 Form 时,会显示一个空的 DataGridView 控件,Column 0 有一个带有红色 X 的矩形。
当我向控件添加一行时,会显示相同的图标。
如何摆脱带有红色 X 的框并且不显示任何内容?
我尝试了以下方法。 Globals.ERROR_LIST_SEVERITY 的值为 0。
dataGridView_ErrorList.Columns[Globals.ERROR_LIST_SEVERITY].DefaultCellStyle.NullValue = null;
还尝试了蛮力只是为了看看它是否会起作用:
dataGridView_ErrorList.Rows[0].Cells[0].Value = null;
知道为什么这不起作用吗?我需要创建一个空白图像并将值分配给空白图像吗?
当设置空值应该起作用时,这似乎很愚蠢。
【问题讨论】:
-
在此处阅读备注部分:DataGridViewImageColumn Class。您需要自定义
DataGridViewImageCell和DataGridViewImageColumn将其CellTemplate设置为自定义单元格。您可以轻松地将其添加到代码中,而不是使用 DGV 的设计器,结果不会像订阅NewRowAdded事件那样麻烦。 -
非常感谢,吉米。我错过了微软网站上的那些评论。实际上,解决方案比我最初想象的要容易得多,因为我只需要在设计器中将 AllowUserToAddRows 属性设置为 False。 DGV 仅由代码填充,因此无论如何都需要设置属性。我的代码在添加新行时分配图像,因此图像永远不能为空。感谢您引导我找到解决方案!丹
标签: c# image winforms datagridview datagridviewcolumn