Hallo,
benutze DataGridView mit Combobox.
Per DataSource werden die Auswahlelemente an das DataGridViewComboBoxColumn gebunden.
Das dabei benutzte DataTable hat zwei Spalten
Spalte (0) mit Abkürzungen;
Spalte(1) mit langen Bezeichnungen;
Ich möchte nun in der Anzeige im DataGridView in den ComboBoxSpalten die Abkürzungen sehen, wenn der Anwender jedoch in einer Combobox Spalte die Auswahl (also das DropDowmMenü) öffnet, sollen hier die langen Bezeichnungen stehen.
Habe nun am Beginn die ValueMember und DisplayMember jeweils auf die Spalte (0) gelegt.
[highlight=vbnet]
.ValueMember = DT.Columns(0).ColumnName
.DisplayMember = DT.Columns(0).ColumnName
.DropDownWidth = 200
Die Weite der Spalte beträgt 22[/highlight]
Im Ereignis:
[highlight=vbnet]cboGrid_EditingControlShowing
setze ich nun
DisplayMember = mDTcboTyp.Columns(1).ColumnName.[/highlight]
und im Ereignis:
[highlight=vbnet]dg_mask_MouseUp
wieder zurück auf:
.DisplayMember = mDTcboTyp.Columns(0).ColumnName.[/highlight]
Das finde ich reichlich kompliziert.
Geht das auch irgenwie eleganter?
Danke
benutze DataGridView mit Combobox.
Per DataSource werden die Auswahlelemente an das DataGridViewComboBoxColumn gebunden.
Das dabei benutzte DataTable hat zwei Spalten
Spalte (0) mit Abkürzungen;
Spalte(1) mit langen Bezeichnungen;
Ich möchte nun in der Anzeige im DataGridView in den ComboBoxSpalten die Abkürzungen sehen, wenn der Anwender jedoch in einer Combobox Spalte die Auswahl (also das DropDowmMenü) öffnet, sollen hier die langen Bezeichnungen stehen.
Habe nun am Beginn die ValueMember und DisplayMember jeweils auf die Spalte (0) gelegt.
[highlight=vbnet]
.ValueMember = DT.Columns(0).ColumnName
.DisplayMember = DT.Columns(0).ColumnName
.DropDownWidth = 200
Die Weite der Spalte beträgt 22[/highlight]
Im Ereignis:
[highlight=vbnet]cboGrid_EditingControlShowing
setze ich nun
DisplayMember = mDTcboTyp.Columns(1).ColumnName.[/highlight]
und im Ereignis:
[highlight=vbnet]dg_mask_MouseUp
wieder zurück auf:
.DisplayMember = mDTcboTyp.Columns(0).ColumnName.[/highlight]
Das finde ich reichlich kompliziert.
Geht das auch irgenwie eleganter?
Danke