2009-08-25 3 views

ответ

1

Используйте DataView или BindingSource между DataTable и DataGridView, они оба имеют Sort свойство:

DataView view = new DataView(table); 
view.Sort = "Name ASC, Age Desc"; 
dataGridView.DataSource = view; 

Вы также можете отфильтровать результаты, используя свойство DataView.RowFilter (или BindingSource.Filter).

DataGridView будет автоматически отражать изменения

+0

Что делать, если нет окончательной схемы сортировки? то есть. Я хочу переместить 9-ю строку в 1-ю позицию? – jumpinjackie

+0

Удалите девятую строку из DataTable и вставьте ее в первую позицию –

+1

- или добавьте новый столбец «Заказ» в DataTable и используйте его для сортировки. Независимо от того, что вы делаете, всегда выполняйте сортировку на стороне DataSource, а не в DataGridView, или вы в конечном итоге повеситесь;) –

Смежные вопросы