Entwickler-Ecke

WinForms - mehrere Displaymember in ComboBox


c#ler - Di 15.10.13 11:05
Titel: mehrere Displaymember in ComboBox
Hallo,
ich habe eine UltraCombo (Äquivalent zur ComboBox in Winforms).
beim Aufklappen dieser Ultracombo werden 2 Spalten angezeigt (Name, Code).
Bei der Auswahl einer Row wird als Displaymember leider nur ein Wert akzeptiert. (in meinem Fall verwende ich aktuell den Namen).
Mein Ziel ist es den Namen und die ID nach der Auswahl in der ComboBox anzuzeigen.
Quasi 2 Werte für den Displaymember.
Kann mir jemand sagen, wie ich die beiden zusammenbringe?


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
//this.ultraCombo1.DataBindings.Add("Enabled", _viewModel, "ComboboxEnabled", true, DataSourceUpdateMode.OnPropertyChanged);
      
var columns = new NameValueCollection();
// ultraCombo1
this.ultraCombo1.DataSource = _viewModel.Personen.Where(row => (row.Id != 0)).ToList();
this.ultraCombo1.ValueMember = "Id";
this.ultraCombo1.DisplayMember = "Name";
this.ultraCombo1.SyncWithCurrencyManager = true;
this.ultraCombo1.DataBindings.Add("Value", _viewModel, "Id"true, DataSourceUpdateMode.OnPropertyChanged);

spalten.Clear();
spalten.Add("Code""Code");
spalten.Add("Name""Name");

UltraComboHandler.SetColumnsFilter(this.ultraCombo1, columns, falsetrue);
this.ultraCombo1.DisplayLayout.Bands[0].SortedColumns.Add("Code"false);
this.ultraCombo1.DropDownWidth = this.ultraCombo1.Right - ultraCombo1.Left;
this.ultraCombo1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ExtendLastColumn;


Moderiert von user profile iconTh69: Titel geändert: Leerzeichen hinzugefügt ;-)


Th69 - Di 15.10.13 11:38

Hallo c#ler,

von außen ist das nicht möglich. Könntest du denn eine weitere Eigenschaft zu deiner Personen-Klasse hinzufügen, die dann die passende Anzeige erzeugt?


c#ler - Di 15.10.13 12:07

user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo c#ler,

von außen ist das nicht möglich. Könntest du denn eine weitere Eigenschaft zu deiner Personen-Klasse hinzufügen, die dann die passende Anzeige erzeugt?


:D war genau meine Idee....
nur die Umsetzung lahmt...
Meine Idee war quasi ein Concat aus Code und Name, aber ich weiß nicht, wie es praktisch umgesetzt werden muss.


Ralf Jansen - Di 15.10.13 12:17

Äh eine Property mit einem getter und return Code + Name drin?