Поиск элементов в многостолбцовом списке в 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
}
}
}