Поиск элементов в многостолбцовом списке в C#

На самом деле я создаю представление списка воспроизведения в C#, форма содержит ListView с 4 столбцами "Имя", "Альбом", "Исполнитель" и "Путь" соответственно. У меня также есть текстовое поле в форме. Я хочу знать, что, как я могу искать элементы, соответствующие поисковому запросу пользователя, и найти хорошие возможные результаты поиска по всем столбцам. Например, если пользователь вводит путь, то как я могу получить совпадающие значения из пути, и если путь содержит имя песни? На самом деле, если вы использовали какой-либо плеер с плейлистом, например Windows Media Player, когда мы вводим поисковый запрос, он показывает возможный результат. Так как я могу искать результаты по всем 4 колонкам. Код, который я сейчас использую, может искать только в первом столбце, т.е. в столбце "Имя".

Можно ли заменить текстовое поле на поле со списком, в котором пользователь может ввести поисковый запрос, и максимум 15 результатов будут добавлены и показаны в раскрывающемся списке. Когда пользователь выбирает какой-либо элемент из выпадающего списка, он должен возвращать путь и индекс этого элемента из списка.

Спасибо.

1 ответ

Это обновленный ответ на вышеуказанное решение

  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
            }
        }
    }
Другие вопросы по тегам