项目:Winforms,.NET 框架:3.5 (Visual Studio 2008)
我的问题是:
我有DataGridView
几列,一些类型和另一种类型DataGridViewTextBoxColumn
,DataGridViewComboBoxColumn
列DataGridViewComboBoxColumn
由实体框架提供的实体填充。
// 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 值无效