我有一个简单的ListView
,其中有两列:ID | Name
我会从所选行中获取ID和名称:
ListViewItem item = listView1.SelectedItems[0];
MessageBox.Show(item.subItem[0].Text + " " + item.subItem[1].Text);
有没有办法不通过数字(0或1),而是通过nameColumn,类似于这个datareader
示例?:
sqlite_cmd.CommandText = "select * from mytable;";
sqlite_datareader = sqlite_cmd.ExecuteReader();
// ...
string password = sqlite_datareader["password"].ToString();
我会这样对listView,详情:
MessageBox.Show(item.subItem["ID"].Text + " " + item.subItem["Name"].Text);
有什么办法吗?
答案 0 :(得分:0)
您可以完全按照演示的方式执行此操作,但您使用的字符串必须是相应ColumnHeader的Name属性的值,而不是Text。名称和文本可能是相同的,但重要的是名称。
更正:它实际上是需要指定的ListViewSubItem的名称,而不是相应ColumnHeader的名称。
答案 1 :(得分:0)
解决:
item.SubItems[listView1.Columns.IndexOf(ID)].Text
: - )