2010-12-02 3 views
0

У меня есть DataGridView с 2 столбцами. Сначала для параметра SortMode установлено значение «Автоматически».Отменить сортировку в DataGridView, когда строка отредактирована

В этой сетке много строк, и когда я изменяю значение в строке, например, от xyz до abc, я все еще в позиции, где эта строка WAS. Отредактированная строка прыгает вверх.

Я хочу прервать эту автоматическую сортировку, и я хочу сортировать звонки по левому клику по столбцу. Be

Я нашел какое-то решение (код ниже + я установил SortMode в программную), но моя строка все еще прыгает:/У кого-нибудь есть решение решить эту проблему?

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Left) 
    { 
     DataGridViewColumn newColumn = 
     dataGridView1.Columns[e.ColumnIndex]; 

     SortOrder direction; 
     if (dataGridView1.SortOrder == SortOrder.Ascending) 
     { 
      dataGridView1.Sort(newColumn, 
      ListSortDirection.Ascending); 
      direction = SortOrder.Ascending; 
     } 
     else 
     { 
      dataGridView1.Sort(newColumn, 
      ListSortDirection.Descending); 
      direction = SortOrder.Descending; 
     } 

     newColumn.HeaderCell.SortGlyphDirection = direction;  
    } 
} 

ответ

0

Почему бы вам просто отключить сортировку при захвате события редактирования вашего DataGridView?

private void dataGridView1_CellBeginEdit(object sender, 
DataGridViewCellCancelEventArgs e) 
{ 
    foreach (DataGridViewColumn column in dataGridView1.Columns) 
     column.SortMode = DataGridViewColumnSortMode.NotSortable; 
} 

Тогда можно просто восстановить Сортировка по Отмените это поведение (путем восстановления его снова в случае RightClick вашей колонки или любой Контекстное меню или другой)

+0

Это решение не работает. В начале я устанавливал для каждого столбца, который не сортируется. Теперь в dataGridView1_ColumnHeaderMouseClick в начале я добавил: newColumn.SortMode = DataGridViewColumnSortMode.Programmatic; , И из курса я добавил ваше мероприятие и все тот же. – user278618

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