2011-10-07 7 views
0

現在、プログラムで読み込まれたグリッドを含むフォームを完成しようとしています。DatagridView.ComboboxColumnで選択した値を設定する

グリッドは6列を持っており、最後の列は、コンボボックス

これは私がしようとしていることである。基本的

foreach(var persona in asistenciaRepo.FilterBy(x => x.plaserv == planilla).OrderBy(x => x.orden)) 
{ 
    grilla_personal.Rows.Add(persona.personal.id, persona.personal.id_legajo, persona.jerarquia.descripcion, persona.personal.nomyape, persona.orden, persona.codificacion.descripcion); 
} 

コードの一部であることグリッドがロードされ、選択範囲を表示したとき私のエンティティに格納されているコンボボックス

persona.codificacion.descripcionは、自分のコントロールにリンクしたいデータが入っている私のエンティティの列です。

イベントSelectedValueChangedを処理するか、それを正しく行う方法が必要です。

[UPDATE]

列6は

foreach (var c in codifRepo.GetAll()) 
{ 
    codificacion.Items.Add(c); 
} 
codificacion.ValueMember = "id"; 
codificacion.DisplayMember = "descripcion"; 

codificacionあなたDataGridViewComboBoxColumnはそのDataPropertyNameプロパティセットを持っている必要がありComboBoxColumn

答えて

1

の名前で、プログラムロードされます。

これは、各コンボボックス選択値を取得するために使用するDataGridViewのデータソースのプロパティを列に伝えます。

また、ドロップダウンの値のリストを指定するコンボボックス列自体のデータソースを提供する必要があります。

ValueMemberとDisplayMemberの各プロパティも設定する必要があります。 ValueMemberは、DataPropertyNameプロパティと一致する列のデータソース内のプロパティです。 DisplayMemberは、ユーザーに表示するプロパティです。


あなたはグリッドのデータソースを使用していない場合、私は強くそれをお勧めします - するBindingListに各行の値を追加していることを設定し、グリッドのデータソースとして。

関連する問題