Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Авто сортировка DataGridView (Entity Framework)


Автор: BASSoft 24.7.2010, 13:45
Здравствуйте!

Подскажите, пожалуйста, как реализовать сортировку строк компонента DataGridView.

Пишу приложение на VS2010 pro, Entity Framework 4.0.

Есть объект DataGridView, свойство  DataSource которого ссылается на testBindingSource. В обработчике загрузки формы, DataGridView заполняется данными. Необходимо, что бы при щелчке мышью по заголовкам DataGridView выполнялась сортировка.

Почему DataGridView не сортирует данные автоматически? Как реализовать это программно?
 
Код

private void MainForm_Load(object sender, EventArgs e)
{
   using (var context = MyDBContainer())
   {
     testBindingSource.DataSource = context.tests.Select(n => new { n.ID, n.Name, n.Date, Question = n.Question.Name}); 
   }
}

Автор: wolk 24.7.2010, 14:41
DataGridView.sort="столбец по которому идет сортировка";

Автор: BASSoft 25.7.2010, 11:39
У компонента DataGridView нет свойства Sort, зато есть такой метод но при его вызове ...
 
Код

DataGridView1.Sort(DataGridView1.Columns["ID"], ListSortDirection.Descending);


возникает ошибка ...

System.InvalidOperationException: Элемент управления DataGridView нельзя упорядочить, если он привязан к IBindingList, не поддерживающему сортировку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)