Проект: Winforms, .NET framework: 3.5 (Visual Studio 2008)
Моя проблема:
У меня есть DataGridView
с несколькими столбцами, некоторые из столбцов типа DataGridViewTextBoxColumn
, DataGridViewComboBoxColumn
, DataGridViewComboBoxColumn
заполнены сущностью, предоставленной Entity Framework.
// Example
((System.ComponentModel.ISupportInitialize)(this.EntityBindingSource)).BeginInit();
this.EntityBindingSource.DataSource = this.dtContext.ExampleEntity;
this.ComboColumn.DataSource = this.EntityBindingSource;
this.ComboColumn.DataPropertyName = "ExampleId";
this.ComboColumn.DisplayMember = "Example";
this.ComboColumn.ValueMember = "ExampleId";
Когда вы запускаете и загружаете форму, отлично
Но проблема возникает, когда во время выполнения я хочу выбрать элемент из коллекции DataGridViewComboBoxColumn
Что в случае CellEndEdit
private void dgvDetalle_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCell cell = dgvDetalle.CurrentCell;
DataGridViewComboBoxCell comboCell = (DataGridViewComboBoxCell)this.dgvDetalle.CurrentRow.Cells["ComboColumn"];
// Attempt 1
comboCell.Value = (ExampleEntity)comboTarifaImpuesto.Items[0];
// Attempt 2
comboCell.Value = ObjetoEntity;
// Attempt 3
comboCell.Value = "ValueExample"
// Attempt 4
comboCell.Value = ObjetoEntity.ToString();
}
- Попробуйте выбрать один элемент из списка
- Попробуйте выбрать объект сущности
- Попробуйте выбрать с помощью цепочки или Показать значение члена
и я не могу выбрать нужные элементы, я получаю исключение:
Недопустимое значение DataGridViewComboBoxCell.