Проблема в сортировке dataGridview?

На форме есть два dataGridView - dataGridBranches и dataGridSpec
Для сортировки dataGridBranches по значению колонок и по убыванию/возрастанию реализован следующий код:
spoiler
DataGridViewColumn  ColBranch = null;
            switch (sortListBranch.SelectedIndex)
            {
                case 0:
                    ColBranch = dataGridViewTextBoxColumn1;
                    break;
                case 1:
                    ColBranch = dataGridViewTextBoxColumn2;
                    break;

            }
            if (radioSortBranchUp.Checked)
                dataGridBranches.Sort(ColBranch, ListSortDirection.Ascending);
            else
                dataGridBranches.Sort(ColBranch, ListSortDirection.Descending);


Он прекрасно работает

Для аналогичной сортировки данных dataGridSpec реализован подобный код:
spoiler
DataGridViewColumn ColSpec  = null;
            switch (sortListSpec.SelectedIndex)
            {
                case 0:
                    ColSpec = dataGridViewTextBoxColumn1;
                    break;
                case 1:
                    ColSpec = dataGridViewTextBoxColumn2;
                    break;

            }
        

            if (radioSortSpecUp.Checked)
                DataGridSpec.Sort(ColSpec, ListSortDirection.Ascending);
            else
                DataGridSpec.Sort(ColSpec, ListSortDirection.Descending);


Который падает с ошибкой:
System.ArgumentException: "Указанный столбец не принадлежит к данному элементу управления DataGridView."


В чем я накосячил?
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 1
@SlNik
Причина:
dataGridViewTextBoxColumn1 и dataGridViewTextBoxColumn2 являются столбцами dataGridBranches.
А ты пытаешься их использовать для сортировки dataGridSpec.

Решение:
Для сортировки используй столбцы из dataGridSpec.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы