Настройка элементов DataGridViewComboBoxCell - PullRequest
0 голосов
/ 13 февраля 2012

Я хочу установить элементы каждого DataGridViewComboBoxCell по отдельности (поскольку каждый комбинированный список должен иметь разные элементы) в моем DataGridView.Я использую этот код для установки элементов:

foreach (DataGridViewRow row in grid.Rows)
{
    ((DataGridViewComboBoxCell)row.Cells[1]).Items.Clear();
    foreach (Product prod in _ProductList)
    {
        ((DataGridViewComboBoxCell)row.Cells[1]).Items.Add(prod.Name);
    }
}

Отладка. Я вижу, что элементы DataGridViewComboBoxCell установлены правильно, но когда я смотрю на сетку, комбо пусты.

Созданиеразличные тесты Я понял, что если я устанавливаю элементы после загрузки формы (например, в событии щелчка), элементы отображаются нормально.

Что мне нужно сделать, чтобы загрузить элементы во время загрузки формы?

1 Ответ

1 голос
/ 13 февраля 2012

В какой функции вы запускаете цикл foreach? Если в конструкторе, это может быть слишком рано. Попробуйте переместить его в Form_Load или другой обработчик, который запускается позже.

Я ответил на вопрос об установке текущего значения поля со списком в столбце здесь , и у вас может возникнуть подобная проблема. Я знаю, что установка ячеек DataSource работает, если вы делаете это достаточно поздно в жизненном цикле элемента управления, потому что я сделал это здесь .

...