我有一個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」,但爲什麼我不能強制它將空字符串視爲空字符串而不是空值?