Источник данных DataGridViewComboBoxCell очищается при сортировке столбцов в сетке данных

У меня есть DataGridViewComboBoxCell в приложении winforms, которое я заполняю некоторым источником данных для каждой строки. Это то, что я нахожу в этой ветке DataGridViewComboBoxColumn, добавляя разные элементы в каждую строку. И это работает нормально, каждая строка имеет разные раскрывающиеся значения, как и должно быть. Но когда я щелкаю мышью по заголовку столбца и происходит сортировка, все DataGriViewComboBoxCell очищаются, и значение нельзя выбрать. У меня должна быть сортировка по столбцам. Никаких исключений не происходит. Какое-то решение?

    private void setCellComboBoxItems(DataGridView dataGrid, int rowIndex, int colIndex, object[] itemsToAdd)
    {
        DataGridViewComboBoxCell dgvcbc = (DataGridViewComboBoxCell) dataGrid.Rows[rowIndex].Cells[colIndex];
        // You might pass a boolean to determine whether to clear or not.
        dgvcbc.Items.Clear();
        foreach (object itemToAdd in itemsToAdd)
        {
            dgvcbc.Items.Add(itemToAdd);
        }
    }   

person Vlada    schedule 07.04.2014    source источник
comment
Может, попробуете снова установить свои DataGridViewComboBoxCells после сортировки в методе dgv Sorted?   -  person Batu.Khan    schedule 07.04.2014
comment
Возможно, но эти данные заполняются из базы данных, это очень дорого, если у меня есть 100 строк и для каждой строки 4-5 записей. Но если я не найду другого решения, я сделаю это.   -  person Vlada    schedule 07.04.2014
comment
Можете ли вы кэшировать данные и восстанавливать их после сортировки?   -  person TaW    schedule 08.04.2014
comment
Что ж, спасибо, это то, чем я сейчас занимаюсь. Кэшируйте его в Datatable, а затем повторно запустите их заполнение. Если кто-то знает лучшее решение, я открыт для предложений.   -  person Vlada    schedule 08.04.2014