2
我是Web开发人员,正在开发WinForms中的一部分项目。所以我的问题可能是一个基本问题。试着忍受它。在列表视图中选择一行
我在我的页面上有两个列表视图和一个适用于两者的删除按钮。
问题。
- 我无法在列表视图中选择一行,当我运行我的程序时,可能是它需要的某些属性?
- 如果我能够选择要检测哪个列表视图项目的行,那么我该怎么做?
我有三列,并使用下面的代码绑定了数据。
listView1.Columns.Add("ID",20); listView1.Columns.Add("Name",40); listView1.Columns.Add("Mobile",40); foreach (var item in dataList) { newItem = new ListViewItem(); newItem.SubItems.Add(item.ID.ToString()); newItem.SubItems.Add(item.Name); newItem.SubItems.Add(item.Mobile.ToString()); listView1.Items.Add(newItem); }
但ID
栏留空和数据开始在这些意义上绑定。
ID Name Mobile
1 abc
2 xyz
那么我该如何正确显示数据呢?
- 最后,我想用我的
ID
列删除数据。所以如果我给width=0
,这是隐藏一列的最好方法吗?
感谢您的回答。 point no 1,3 has been resolved.on point no 2.我需要一些输入,这就是我在做什么if(listView1.SelectedItems.Count> 0) { foreach(var item in listView1.SelectedItems) { //如何提取隐藏列的值ie.ID //多选择选项设置为假 } } – ankur
@ankur:不存储值,你不想显示*视图*项目。如果你只是想稍后使用'item.ID'而不显示它,则将'ListViewItem'绑定到数据项:'newItem.Tag = item'。稍后,您可以通过'((YourDataItemType)item.Tag).ID'获取它。 – Dennis
带标签的方法很漂亮,但我无法获得价值。我也经历了很多删除具有多列的选定行的例子,似乎没有什么可以做的。我隐藏的身份证实际上用于同样的事情。所以你可以帮我在这个我的代码删除button.foreach(ListViewItem项目listView2.SelectedItems) { var id =((int)item.Tag).ID;//此行给出错误 listView2.Items。除去项目); } – ankur