Сортировка DataGridView по нескольким столбцам одновременно - C#
Формулировка задачи:
Доброй ночи уважаемые посетители.
Я столкнулся с очередной проблемой. Мне требуется отсортировать DataGridView по 2 и трем столбцам одновременно (как в экселе, с начало по А, потом по Б, потом по В).
По одному столбцу сортирует - проблем нет, сразу по двум - ума не прилажу как сделать.
Если кто знает буду благодарен, за пример кода вообще счастлив.
Ещё было классно если кто подскажет как его по человечески сортировать научить, а то столбец с цифрами и он их сортирует "1" "11" "2" "22" "3" "33".
Решение задачи: «Сортировка DataGridView по нескольким столбцам одновременно»
textual
Листинг программы
private void DGVElementsItems_SortCompare(object sender, DataGridViewSortCompareEventArgs e) { int CompareResult = 0; for (int ColIndex = e.Column.Index; ColIndex < DGVElementsItems.Columns.Count; ColIndex++) { int CellVavue1 = 0; int CellVavue2 = 0; if (int.TryParse(DGVElementsItems[ColIndex, e.RowIndex1].Value.ToString(), out CellVavue1) && int.TryParse(DGVElementsItems[ColIndex, e.RowIndex2].Value.ToString(), out CellVavue2)) { if (CellVavue1 > CellVavue2) CompareResult = 1; else if (CellVavue1 < CellVavue2) CompareResult = -1; else if (CellVavue1 == CellVavue2) CompareResult = 0; } else { CompareResult = System.String.Compare( DGVElementsItems[ColIndex, e.RowIndex1].Value.ToString(), DGVElementsItems[ColIndex, e.RowIndex2].Value.ToString() ); } if (CompareResult != 0) { break; } } e.SortResult = CompareResult; e.Handled = true; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д