Подтвердить что ты не робот

Сортировка данныхGridView столбцов в С#? (Форма Windows)

У меня есть datagridview, который я связываю из таблицы sql, в этом dv у меня есть эти атрибуты: Id, Name и Price. Когда я устанавливаю SortMode столбцов имен в автоматический и я нажимаю на заголовок этого столбца, я могу сортировать этот dv на основе первой буквы имени, таким образом я могу заказать продукты на основе их первых букв (Acumulator, Boat, CocaCola, Двигатель и т.д.).

Можно ли это сделать, не нажимая заголовок столбца Name. Я ищу код, который будет выполнять эту работу при загрузке формы.

4b9b3361

Ответ 1

В DataGridView есть метод, называемый "Сортировка":

this.dataGridView1.Sort(this.dataGridView1.Columns["Name"], ListSortDirection.Ascending);

Это будет программно сортировать ваше datagridview.

Ответ 2

dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending);

Ответ 3

Вы можете управлять данными, возвращаемыми из базы данных SQL, путем заказа возвращаемых данных:

orderby [Name]

Если вы выполняете SQL-запрос из своего приложения, закажите возвращенные данные. Например, создайте функцию, которая вызывает процедуру или выполняет SQL и дает ей параметр, который получает критерии порядка. Поскольку, если вы заказывали данные, возвращенные из базы данных, они будут потреблять время, но заказывать его с момента его выполнения, поскольку вы говорите, что хотите, чтобы его заказывали не из пользовательского интерфейса, который вы хотите, чтобы его заказывали в течение времени выполнения, поэтому закажите его при выполнении SQL запрос.

Ответ 4

Это проще:)

dataview dataview1; 
this.dataview1= dataset.tables[0].defaultview;
this.dataview1.sort = "[ColumnName] ASC, [ColumnName] DESC";
this.datagridview.datasource = dataview1;

Ответ 5

Используйте свойство Datatable.Default.Sort, а затем привяжите его к представлению datagridview.

Ответ 6

Лучший способ сделать это - отсортировать список перед привязкой источника данных.

cars = cars.OrderBy(o => o.year).ThenBy(o => o.color).ToList(); adgCars.DataSource = cars;

Извините за мой плохой английский.