Проект: 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 недопустимо