WPF: как переместить выбранные строки в DATAGRID в его начало? - PullRequest
0 голосов
/ 10 декабря 2010

Во-первых, фоновые факты:
1. Мое приложение имеет сетку данных (с именем «usersDataGrid»), которая отображает информацию о пользователе: имя, идентификатор пользователя и т. Д. Источником данных является таблица (с именем "usersDataTbl"):
usersDataGrid.DataContext = usersDataTbl.DefaultView;
2. Я также создал wpf-форму «Найти меню» (очень похожую на любое приложение на базе Windows), которая позволяет искать сетку данных для определенного пользователя или нескольких пользователей (т. Е. Поиск строки «Джордж» должен найти всех пользователей). по имени "Георгий").

Так в чем проблемы?
У меня есть две функции, которые я хотел бы иметь в приложении, и я не нашел способа сделать их: а. Я хочу, чтобы приложение выделило все строки, которые содержат искомую строку. Чтобы отметить только одну строку, я могу написать следующий код:
usersDataGrid.SelectedItem = row; (где 'row' - это DataRowView, в котором я могу искать строку).
Поскольку я хочу отметить несколько строк, я попробовал следующий код, но он не работал: usersDataGrid.SelectedItems.Add (строка);

б. Как только я пометил все необходимые строки как «Выбранные» в сетке данных, я хочу переместить их в начало сетки данных, чтобы пользователь мог просмотреть все строки с искомой строкой в ​​верхней части таблицы данных.
До сих пор не нашли пути к этому ...

1 Ответ

0 голосов
/ 10 декабря 2010

вам нужно посмотреть на свойство selecteditems таблицы данных

проверьте эти ссылки

http://geekswithblogs.net/lbugnion/archive/2010/05/19/handling-datagrid.selecteditems-in-an-mvvm-friendly-manner.aspx

http://blog.functionalfun.net/2009/02/how-to-databind-to-selecteditems.html

...