2016-03-15 32 views
0

如何從Listview中提取單元格值。
strName = ListView1.Items(0).SubItems(9).Text
有效,但有時會出現像InvalidArgument ='0'的值對'index'無效或對象引用未設置爲對象的實例。由於用戶不在同一個位置,我無法重新創建這些錯誤。提取ListView值

+0

如果沒有項目,你會得到NRE,首先檢查計數。 – Plutonix

+0

謝謝。總是隻有一行(從數據庫中選擇前1,並填充列表視圖)用戶不會沒有一個(如果沒有項目,按鈕不會啓用)它對我來說工作正常,它爲什麼有時會讓我瘋狂它不適用於其他人。 –

+0

*那行代碼可以拋出NRE的唯一方法是如果沒有Item或LVI沒有子條目 – Plutonix

回答

0

這是一個常見問題。您必須添加一個If語句來檢查是否至少有一個選定的項目,並且只有在存在時才嘗試訪問它。

If ListView1.SelectedItems.Count > 0 Then 
StrName = ListView1.SelectedItems(0).SubItems(9).Text 
End If 
+0

謝謝Noidea。將只有一行,用戶不能沒有它。我正在考慮這個選項,但是想知道它會不會被取消。 –

+0

無論如何,有了這段代碼,你將不會得到「傳統」的錯誤。如果您以某種方式找到適當的方法,請標記爲已回答。 – noidea

+0

謝謝,我會嘗試ListView1.items.count> 0或ListView1.selectedItems.Count> 0 –