2015-11-18 72 views
0

單擊按鈕我希望從ListView列中獲取值。我曾嘗試使用DataRow,但我得到NullReferenceExpection從ListView中獲取選定的值

int row = listView.SelectedIndex; 
DataRow dr = listView.Items.GetItemAt(row) as DataRow; 
long ID = Convert.ToInt64(dr["ID"]); 
TextBoxID.Text = ID.ToString(); 
+0

嘗試'ListViewItem'而不是'DataRow'。 – adv12

回答

0

ListView.GetItemAt()返回一個ListViewItem。如果您嘗試通過as將其轉換爲DataRow,則會得到一個空值,因爲這是as在您嘗試轉換爲錯誤類型時返回的結果。使用ListViewItem已使用DataRow,並使用SubItems列表獲取字段值。另請注意,如果指定索引處沒有項目,則GetItemAt()將返回空值。

0

我讀過上面的答案,但它是不明確的,所以現在我給完整的代碼來完成這項工作。

 int index = list_View.SelectedIndex; 
     DataRowView CompRow; 
     long KOT; 
     CompRow = list_View.Items.GetItemAt(index) as DataRowView; 
     KOT = Convert.ToInt16(CompRow["KOT"]); 
     MessageBox.Show(KOT.ToString());