如何通过Key访问ListView子项?

Aiv*_*ler 2 .net vb.net listview

我试图使用列标题名称从列表视图访问数据,但我得到错误

LVProduct.FocusedItem.SubItems("Name").Text
Run Code Online (Sandbox Code Playgroud)

那么,你如何使用函数与字符串参数?我不想使用索引太混乱了

小智 13

如果您想要根据列获取SubItem,这是最简单的方法.

LVProduct.FocusedItem.SubItems(columnHeader1.Index).Text 
Run Code Online (Sandbox Code Playgroud)

columnHeader1将是您想要SubItem的ColumnHeader的名称.


Rob*_*her 8

创建子项时,必须将Name属性设置为它所在的列的属性.

[...]访问器在ListViewSubItem类中查找Name字段.

如果没有该设置,您执行的["Name"].文本操作将返回空指针类型错误.

或者,换句话说,按键搜索不会按列名搜索.它会根据您在创建子项时在SubItem.Name中设置的值进行搜索.


Tim*_*phy 5

创建子项目时,您需要设置 name 属性。例如:

listViewItem.SubItems.Add(
    New ListViewSubItem With {.Name = "Name", .Text = "yes"}
)
Run Code Online (Sandbox Code Playgroud)

然后您可以使用现有的代码:

LVProduct.FocusedItem.SubItems("Name").Text
Run Code Online (Sandbox Code Playgroud)