单击按钮我希望从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