[英]Getting value in datagridview cell error
我有一個datagridview
,它包含5行,列名是:XS,S,M,L和XL。
首先,流程是用戶選擇品牌(CHL和XRA),如果用戶選擇XRA,則列名將重命名為-,1L,2L,3L,4L。
這里的問題是,每當我從重命名列名稱的單元格中獲取值時,都會遇到這種錯誤: 對象引用未設置為對象的實例。
這是我從單元格獲取值的示例代碼:
dvJOBranch.Rows(0).Cells.Item("M").Value.ToString
如果不重命名該列,則此代碼可以完美地工作,但是如果我重命名該列,則它有錯誤。
如果該列的索引沒有更改,則可以通過其索引而不是其名稱來訪問它:
dvJOBranch.Rows(0).Cells.Item(2).Value.ToString 'third column
請注意, 未將對象引用設置為對象的實例意味着您有一個NullReferenceException
上面的代碼行假設:
dvJOBranch.Rows(0)
不為null ,否則對Cell
訪問將引發NullReferenceException
dvJOBranch.Rows(0).Cells.Item(2)
不為null ,否則對Item(2).Value
訪問將拋出NullReferenceException
dvJOBranch.Rows(0).Cells.Item(2).Value
不為null ,否則調用.ToString()
方法將引發NullReferenceException
您需要進行適當的測試以處理空值。
If dvJOBranch.Rows(0).Cells.Item(2).Value IsNot Nothing Then
(...)
End If
請嘗試以下操作:
If dvJOBranch.Rows(0).Cells.Item(2).Value IsNot Nothing OrElse String.IsNullOrEmpty(dvJOBranch.Rows(0).Cells.Item(2).Value.ToString)
(...)
End if
這里最重要的是OrElse(而不是OR),因為否則equasion的第二部分仍然給出NullReferenceException。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.