C #, BindingList, BindingSource, сортировка ListBox? - PullRequest
0 голосов
/ 04 мая 2011

Я уже час гуглю и не нашел рабочего ответа.

У меня есть myClass с различными членами, такими как строковое имя и некоторые целые числа. Затем у меня есть myList типа List, а затем у меня есть элемент управления Listbox.

Я могу легко отобразить список в списке, используя DisplayMember = "Name" и DataSource = new BindingList<myClass>(myList.Values).

Но я хочу, чтобы это делали разные члены моего класса. Я уже пытался создать BindingSource моего списка и передать его в список, но тогда единственная запись в моем списке - это «(Перечисление)» (тип списка привязок, но не его членов).

Что мне нужно, чтобы отобразить простой список в простом элементе управления Listbox и сделать его сортируемым членами T?

1 Ответ

1 голос
/ 04 мая 2011

BindingList не реализует сортировку сам по себе, хотя он предлагает вам такую ​​возможность, если вы решите ее реализовать. Вы можете унаследовать от BindingList и начать отсюда . Помните, что операции сортировки, вероятно, не должны изменять исходный список.

Существуют реализации, такие как BindingListView , которые также дадут вам то, что вам нужно.

Однако самый простой способ, который я нашел, - это использовать DataTable, заполненный членами класса. Это позволит вам бесплатно использовать DataView, который уже поддерживает сортировку, фильтрацию и все приятное.

...