Можно ли использовать DataTable.Select (filterString) для управления отображаемыми строками, а также использовать DataGridView.Sort () для управления порядком, в котором они отображаются? - PullRequest
1 голос
/ 03 декабря 2009

Если я напишу:

myDataGridView.DataSource = myDataTable.Select(fitlerString);
myDataGridView.Sort(myDataGridView.Columns[1], ListSortDirection.Ascending)

Я получаю InvalidOperationException с сообщением

"DataGridView control must be bound to an IBindingList object to be sorted." 

но я не могу найти способ получить Datatable (вместо DataRow[]) только с нужными строками из вызова DataTable.Select().

Могу ли я использовать DataTable.Select(filterString) для управления отображаемыми строками в DataGridView, а также DataGridView.Sort() для управления порядком, в котором они отображаются? Если это не вызовет проблем в другом месте, я бы предпочел сохранить свой DataSource в качестве DataTable, чтобы избежать необходимости изменять предположения в другом месте кодовой базы.

1 Ответ

1 голос
/ 03 декабря 2009

Тебе придётся обойтись вокруг твоих данных. Хорошей новостью является то, что я нашел эту запись в блоге Wessam Zeidan, в которой уже написан код. Проблема, которую он решает, немного отличается, но я думаю, что это поможет вам. Основной вывод - преобразование объекта DataRow [] обратно в DataTable. Обязательно прочитайте комментарии, так как они могут помочь.

Удачи и Хорошей сортировки!

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