Фильтрация WinForm DataGridView - PullRequest
3 голосов
/ 10 ноября 2010

У меня есть элемент управления DataGridView, связанный с настраиваемым типизированным списком (который наследует BindingList). Я хотел бы иметь возможность фильтровать строки на основе простого значения столбца (тип bool). В конечном счете, цель состоит в том, чтобы иметь возможность пометить элемент как удаленный, но просто пометить его как удаленный в источнике данных, а не удалить его. Просто удалите его из сетки, а не из источника данных.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 10 ноября 2010

Вы можете использовать LINQ для фильтрации ваших данных, а затем создать новый BindingList и переназначить его в dataGridView.

Предполагая, что у вас есть флаг в классе персонажа с именем WillBeDeleted:

dataGridView1.DataSource = new SortableBindingList<Person>
                           (SampleData.Where(p => !p.WillBeDeleted).ToList());

Удачи!

0 голосов
/ 10 ноября 2010

Просто чтобы было понятнее, я использовал этот код для создания SortableBindingList http://www.timvw.be/presenting-the-sortablebindinglistt-take-two/ (я перевел его на VB.NET)

Затем у меня есть свой собственный объект коллекции, который содержит свойства и SortableBindingList моих сущностей.

Private mlisteNotes как новый SP1ZSortableBindingList (из SP5004ZNoteEvolutiveEntite)

И это то, к чему я привязываю свою сетку, чтобы она стала теперь сортируемой. Поэтому мне нужно, чтобы он оставался такого типа, а не общего списка.

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