單擊按鈕我希望從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();
單擊按鈕我希望從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();
ListView.GetItemAt()
返回一個ListViewItem
。如果您嘗試通過as
將其轉換爲DataRow
,則會得到一個空值,因爲這是as
在您嘗試轉換爲錯誤類型時返回的結果。使用ListViewItem
已使用DataRow
,並使用SubItems
列表獲取字段值。另請注意,如果指定索引處沒有項目,則GetItemAt()
將返回空值。
我讀過上面的答案,但它是不明確的,所以現在我給完整的代碼來完成這項工作。
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());
嘗試'ListViewItem'而不是'DataRow'。 – adv12