Я знаю, что это сообщение немного старое, но я пришел сюда в поисках ответов, и никто больше не ответил, поэтому я решил поставить его здесь.
Первое, что вам нужно сделать, это отключитьавтоматическая сортировка по заголовку.После привязки источника данных к dgv я вызываю метод disableSort, который, на мой взгляд, лучше всего работает, если установить режим сортировки на программный
private void disableSort()
{
foreach(DataGridViewColumn dc in dataGridView2.Columns)
{
dc.SortMode = DataGridViewColumnSortMode.Programmatic;
}
}
. Затем я привязал событие CellMouseDown к dataGrid
* 1007.*
если вы пройдете через событие ColumnHeaderMouseClick, вы можете пропустить мою проверку RowIndex
Я использую SequenceNumber в качестве вторичной сортировки (после того, как пользователь выбирает столбец для сортировки, он хочет, чтобы он сортировался попорядковый номер).Просто выясните, по какому столбцу сортируется пользователь, каков его текущий сортировщик, возьмите противоположное, затем сначала сортируйте свой дополнительный столбец, а затем свой основной.