在c#中的多列列表视图中搜索项目

本文关键字:视图 搜索 列表 项目 | 更新日期: 2023-09-27 18:26:31

实际上我正在C#中创建一个播放列表视图,表单包含一个ListView,分别有4列"Name"、"Album"、"Artist"answers"Path"。我在表格中还有一个文本框。我想知道如何搜索与用户搜索查询匹配的项目,并从所有列中找到可能的匹配结果。例如,如果用户键入路径,那么我如何从路径中获得匹配值,如果路径包含歌曲名称,那么?事实上,如果您使用过任何带有播放列表的播放器,如Windows Media player,当我们键入搜索查询时,它会显示可能的结果。那么,我如何从所有4列中搜索结果呢。我目前使用的代码只能在第1列中搜索,即"名称"列。

我可以用组合框代替文本框吗?在组合框中,用户可以键入搜索查询,最多15个结果将被添加并显示到下拉列表中。当用户从下拉框中选择任何项目时,它应该从listview中返回该项目的路径和索引。

谢谢。

在c#中的多列列表视图中搜索项目

这是对上述解决方案的更新答案

  foreach (ListViewItem item in listView1.Items)
    {
        if (item.Text == "searchTerm")
        {
            // do something
        }
        foreach (ListViewItem.ListViewSubItem subItem in item.SubItems)
        {
            if (subItem.Text == "searchTerm")
            {
                // do something
            }
        }
    }