Как отфильтровать список с помощью выпадающего списка - PullRequest
2 голосов
/ 18 февраля 2010

Как мне отфильтровать элементы в списке со списком, используя c # и формы Windows?

список содержит файлы, и списку нужно отфильтровать их по их расширению

Пожалуйста, помогите мне 'm новичок в программировании

Ответы [ 3 ]

1 голос
/ 18 февраля 2010

Это почти точная копия вашего последнего вопроса. Применяется тот же ответ.

При выбранном событии изменения индекса в поле со списком я добавляю элементы в ваш список на основе фильтра, выбранного в вашем поле со списком. Вы можете использовать System.IO.DirectoryInfo для фильтрации вашего каталога по расширению файла.

//Clear your listBox before filtering if it contains items
if(yourListBox.Items.Count > 0)
   yourListBox.Items.Clear();
DirectoryInfo dInfo = new DirectoryInfo(<string yourDirectory>);                                 
FileInfo[] fileInfo = dInfo.GetFiles("*" + <string yourChosenFileExtension>);
foreach (FileInfo file in fileInfo)
{  
   yourListBox.Items.Add(file.Name);
}

Фильтрация texbox с помощью выпадающего списка

0 голосов
/ 18 февраля 2010

вам нужно поработать над источником данных для ListBox, скажем, это список имен файлов
с расширениями:

List<string> files = new List<string>();  // sample DataSource

получить выбранное расширение из ComboBoxto и использовать его для упорядочивания ListBoxИсточник данных (файл).

       string fileExtemsion;               

       var orderedFiles = files.OrderBy(o => o.EndsWith(fileExtemsion)); // order          

       listBox.DataSource = orderedFiles;       // setting Datasource 
       listBox.DataBind();
0 голосов
/ 18 февраля 2010

Ну, вы можете загрузить элементы в таблицу данных и передать ее в свойство listbox.datasource. Затем вы можете установить атрибут Filter в DataTable для фильтрации элементов.

Другой способ заключается в том, чтобы хранить элементы в отдельном списке, предоставляя запрос linq, реализующий фильтр, свойству ListBox.DataSource после изменения SelectedItem в ComboBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...