如何通过键访问ListView子项?
我想使用的columnHeader名称访问从列表视图中的数据,但我得到的错误如何通过键访问ListView子项?
LVProduct.FocusedItem.SubItems("Name").Text
那么,你如何使用带有字符串参数的功能?我不想使用索引它太混乱了
当您创建的子项,则必须设置名称属性是的它驻留的列。
访问器在ListViewSubItem类中查找名称字段。
如果没有设置,您正在执行的[“Name”]。text操作将返回一个空指针类型错误。
或者换句话说,按键搜索不按列名搜索。 根据您在创建子项目时在SubItem.Name中设置的值进行搜索。
你应该使用c#“索引器”。您可以选择使用sqare括号调用:
LVProduct.FocusedItem.SubItems["Name"].Text
如果您想了解更多关于索引,看this link on MSDN
嗨帖子被标记为VB – 2010-09-22 17:07:05
对不起,我的歉意......你有什么错误? – 2010-09-22 17:13:23
创建子项目时,您需要设置name属性。例如:
listViewItem.SubItems.Add(
New ListViewSubItem With {.Name = "Name", .Text = "yes"}
)
然后你可以使用你的现有代码:
LVProduct.FocusedItem.SubItems("Name").Text
如果你想获得基于列的子项,这是最简单的方法。
LVProduct.FocusedItem.SubItems(columnHeader1.Index).Text
columnHeader1将是您想要SubItem的ColumnHeader的名称。
很好的解决方案。不幸的是,我不能给一个以上的赞成票。 – prabhakaran 2012-05-24 05:57:09
https://social.msdn.microsoft.com/Forums/windows/zh-CN/b96f9fbe-e128-4b49-833d-2a5f6e678dae/access-listview-subitem-text-by-column-header?forum=winforms – 2015-12-04 18:55:53
奇怪...我收到一个空字符串时,我的消息箱SubItems或ColumnHeaders的.Name。 – 2015-12-04 19:16:28