0

プロジェクト: Winforms、.NET フレームワーク: 3.5 (Visual Studio 2008)

私の問題は次のとおりです。

いくつDataGridViewかの列があり、一部の型と別の型DataGridViewTextBoxColumn、列はDataGridViewComboBoxColumnDataGridViewComboBoxColumnEntity 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();
}
  • コンボボックスから1つのアイテムを選択してみてください
  • エンティティのオブジェクトを選択してみてください
  • チェーンまたは表示メンバー値で選択してみてください

目的のアイテムを選択できず、例外が発生します。

DataGridViewComboBoxCell 値が無効です

4

1 に答える 1

1

別の質問で提供された支援に感謝します: DataGridViewComboBoxCell Binding - 「値が無効です」

DataGridViewComboBoxCell の次のプロパティを再入力するチューブを修正できます。

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

タイプ列 DataGridViewComboBoxColumn で指定したように、私はすでにこのプロパティを正しく扱っていました。価値

comboCell.Value = ObjetoEntity.ExampleId.ToString();
于 2011-11-07T15:00:49.767 に答える