Сортировка 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы