Как отключить сортировку в DataGridView
? Мне нужно отключить сортировку заголовка DataGridView
.
Как отключить сортировку в DataGridView?
Ответ 1
foreach (DataGridViewColumn column in dataGridView.Columns)
{
column.SortMode = DataGridViewColumnSortMode.NotSortable;
}
Ответ 2
Используйте LINQ:
Datagridview1.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
Ответ 3
Если вы хотите, чтобы статические столбцы не сортировались. Вы можете сделать это
- Откройте окна EditColumns элемента управления DatagridView 2. Выберите столбец, который вы хотите сделать не сортируемым в левой панели.
- В правой панели свойств свойств выберите свойство Сортировка и выберите в нем Не сортировать.
Ответ 4
Это очень просто:
foreach (DataGridViewColumn dgvc in dataGridView1.Columns)
{
dgvc.SortMode = DataGridViewColumnSortMode.NotSortable;
}
Ответ 5
Вы можете отключить его в событии ColumnAdded:
private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
dataGridView1.Columns[e.Column.Index].SortMode = DataGridViewColumnSortMode.NotSortable;
}
Ответ 6
Если вы можете расширить DataGridView, вы можете переопределить метод Sort
с пустым номером. Это полностью отключает сортировку для DataGridView.
public override void Sort(DataGridViewColumn dataGridViewColumn, ListSortDirection direction)
{
//base.Sort(dataGridViewColumn, direction);
}
Примечание. Вы даже не можете программно отсортировать любой столбец.
Ответ 7
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}