Mit Urteil vom 12. Mai 1998 - 312 O 85/98 - "Haftung für Links" hat das Landgericht (LG) in Hamburg entschieden, dass man durch die Anbringung eines Links die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann nur verhindert werden, indem man sich ausdrücklich von diesen Inhalten distanziert. Hiermit weisen wir darauf hin, dass wir fremde Links nur zur Information und zur eigenverantwortlichen Benutzung anbieten.
Wir distanzieren uns ausdrücklich von allen Inhalten aller Links auf unseren Seiten und in unseren Foren. Sollten wir auf unseren Seiten in irgendeiner Weise auf Seiten mit verbotenem oder anstössigem Inhalt hinweisen, bitten wir Sie, uns darauf aufmerksam zu machen, damit wir diese Links entfernen können.
Vor kurzem wurde im Zuge eines Projektes (Unterstützung eines Entwickler Teams für eine Winform Anwendung im Logistikumfeld) unter anderem die Anforderung an mich heran getragen, dass der Kunde die Ansprechpartner für eine bestimmte Logistische Aktivität aus einer Combobox auswählen möchte.
Hierbei sollte in der Combobox, nicht nur ein Feld aus der Datenbank angezeigt werden, sondern die Anzeige sollte aus insgesamt 2 Feldern zusammengebaut werden.
Das Format sollte so aussehen: Nachname, Vorname
Hier ein Beispiel:
Mustermann, Hans
Dabei sollte die Lösung vollkommen im Client implementiert sein und nicht durch eine geänderte Abfrage der Datenbank realisiert werden.
Nun ist es aber so, dass man dem DisplayMember nur ein Feld der Datengebundenen Tabelle (Objekt) zuweisen kann und nicht mehrere oder sogar wie hier gewünscht diese Felder auch noch in einem bestimmten Format.
Sicherlich könnte man sich ein eigenen Objekt (List Objekt) erzeugen welches man dann als Datenquelle für die Bindung verwendet, aber es geht auch (viel) einfacher.
Hierzu verwenden wir dem Format Event der Combobox.
Dieser Event bekommt zwei Parameter mit übergeben:
object sender
ListControlConvertEventArgs e
Wobei wir für die hier beschriebene Lösung lediglich den ListControlConvertEventArgs Parameter benötigen und auch verwenden.
in e.ListItem wird das Datengebundene Objekt übergeben und in e.Value kann man den gewünschten Wert zurückgeben.
Hier ein zusammenhängendes Beispiel:
private void cmbSpediteurKontakt_Format(object sender, ListControlConvertEventArgs e) { // Hier caste ich mir den übergeben Wert in das original Objekt var spediteurKontakt = ((SpediteureKontakte) e.ListItem); // Und nun bastele ich mir die gewünschet Anzeige zusammen e.Value = String.Format("{0}, {1}", spediteurKontakt.Nachname, spediteurKontakt.Vorname); }
Und das Ergebnis sieht dann so aus:
Remember Me
a@href@title, strike