У меня есть элемент управления DataGridView
в моем приложении Windows Forms, который позволяет пользователям редактировать список продуктов. Чтобы изменить категорию продукта, я хочу, чтобы пользователь добавлял новые записи или выбирал из ранее введенных. Для этого я добавил столбец comboBox
, который привязан к DataSource
, который получает имена отдельных категорий из таблицы продуктов. С помощью некоторых других SO вопросов, я был в состоянии сделать это comboBox
редактируемые с помощью этого кода:Столбец DataGridView ComboBox, не принимающий новые значения
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == CategorySelector.Index)
{
ComboBox combo = e.Control as ComboBox;
if (combo == null)
return;
combo.DropDownStyle = ComboBoxStyle.DropDown;
}
}
Но проблема в том, что, когда я пытаюсь изменить столбец категории comboBox
и добавить новую категорию, кроме перечисленных, и когда я переключаюсь на другую ячейку, он переключается на старый элемент категории для существующего продукта или пустой для нового продукта. Скажите, пожалуйста, как я могу добавить новую категорию через эту колонку comboBox
?
Опубликовать коды, которые вы пытались добавить в категорию. –
@RezaAghaei Я использую автоматически созданные методы DataGridView для добавления. –
«DataGridViewComboBoxColumn» показывает только элементы своего «DataSource». Поэтому, если вы ожидаете, что он отобразит новый элемент в списке, вы должны добавить новый элемент в свой источник данных. –