我正在尝试使用列标题名称从列表视图访问数据但我收到错误
LVProduct.FocusedItem.SubItems("Name").Text
那么,如何将该函数与字符串参数一起使用?我不想使用索引太混乱了
答案 0 :(得分:13)
如果您想要根据列获取SubItem,这是最简单的方法。
LVProduct.FocusedItem.SubItems(columnHeader1.Index).Text
columnHeader1将是您想要SubItem的ColumnHeader的名称。
答案 1 :(得分:8)
创建子项时,必须将Name属性设置为它所在的列的属性。
[...] accessor在ListViewSubItem类中查找Name字段。
如果没有该设置,您执行的[“Name”]。文本操作将返回空指针类型错误。
或者,换句话说,按键搜索不会按列名搜索。 它会根据您在创建子项时在SubItem.Name中设置的值进行搜索。
答案 2 :(得分:2)
创建子项时,需要设置name属性。例如:
listViewItem.SubItems.Add(
New ListViewSubItem With {.Name = "Name", .Text = "yes"}
)
然后您可以使用现有代码:
LVProduct.FocusedItem.SubItems("Name").Text
答案 3 :(得分:-1)
你应该使用c#“indexer”。你必须使用方括号调用:
LVProduct.FocusedItem.SubItems["Name"].Text
如果您想了解有关索引器的更多信息,请查看this link on MSDN