Я хочу, чтобы каждый элемент DataGridViewComboBoxCell был индивидуальным (в каждом DataBridCellBoxCell каждый элемент должен иметь разные элементы). Я использую этот код, чтобы установить элементы:Настройка элементов данных DataGridViewComboBoxCell
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);
}
}
Debugging я вижу товар DataGridViewComboBoxCell правильно установлен, но когда я смотрю на сетку, комбо пусты.
Выполнение различных тестов Я понял, что если я устанавливаю элементы после загрузки формы (например, в событии с кликом), элементы отображаются нормально.
Что мне делать, чтобы загрузить элементы в режиме загрузки формы?
У DataGridViewCombox есть связанный с ним DataSource .. Интересно, если установить DataSource для этого конкретного элемента в string.Empty будет исправлять вашу проблему .. Звучит как проблема с DataBinding, посмотрите на эту ссылку, чтобы, возможно, выбрать Alternate DataSource, затем установить элементы, которые вы пытаетесь установить через цикл foreach, у вас есть http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcell.aspx – MethodMan
Вот еще одна полезная ссылка, которая объяснит это даже more .. http://homepage.ntlworld.com/herring1/datagrid.html – MethodMan
В качестве альтернативы я попытался использовать DataSource вместо того, чтобы устанавливать элементы в то время как looop. Но проблема остается прежней. Если я установил DataGridViewComboBoxColumn вместо DataGridViewComboBoxCell, элементы будут правильно заполнены в сетке, но это решение невозможно для меня, потому что каждая ячейка имеет разные элементы. – joaocarlospf