我有一个DataGridView
,有3列,其中两列是用户可编辑的。DataGridView单元将空的可编辑单元视为null,忽略DataGridViewCellStyle.NullValue属性
访问单元格的值这样
someObject.Property = dgv.Rows(x).Cells(y).Value.ToString()
这显然是因为我不是为空使用值前检查时,我得到一个NullRef例外。因此,我决定将初始化DataGridView
的对象更改为永不包含填充单元格的字符串属性的null值的对象,而不仅仅是检查Nothing
值(我现在要做的,绝不会担心)。我只是用String.Empty
代替。
我以为一切都会好起来的,但似乎当我编辑单元格并将其留空时,它将它视为空值而不是String.Empty
。我已经处理了CellBeginEdit
,CellEndEdit
和CellLeave
事件,试图找到它从哪里获得这个神奇的空值,但无济于事。
我看到the DataGridViewCellStyle.NullValue
property on the MSDN,我认为这将是答案,但事实证明,NullValue
属性默认为String.Empty
,因此没有多大意义。
显然这里的简单答案是“在使用之前检查null”,但为什么我不能强制它将空字符串视为空字符串而不是空值?