0

項目的填充選擇一個項目:的WinForms,.NET框架:3.5(Visual Studio 2008中)如何從DataGridViewComboBox

我的問題是:

我有一個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值無效

回答

1

感謝在另一個問題提供的援助: DataGridViewComboBoxCell Binding - "value is not valid"

我可以修復它,管重新進入的DataGridViewComboBoxCell的以下屬性:

comboCell.DisplayMember="Example"; 
comboCell.ValueMember="ExampleId"; 

,因爲我曾在類型列DataGridViewComboBoxColumn 指定我已經與這個屬性的工作正常。價值

comboCell.Value = ObjetoEntity.ExampleId.ToString(); 
相關問題