AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken C# Lookup Tabelle und Combobox
Thema durchsuchen
Ansicht
Themen-Optionen

Lookup Tabelle und Combobox

Ein Thema von Jelly · begonnen am 8. Jan 2008 · letzter Beitrag vom 8. Jan 2008
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Lookup Tabelle und Combobox

  Alt 8. Jan 2008, 09:41
Datenbank: MSSQL • Version: 2000 • Zugriff über: ADO.NET
Ich krieg hier bald den Föhn, sag ich euch.

Ich möchte eigentlich was ganz einfaches machen. Ich habe eine Tabelle mit einigen Spalten, wovon eine auf eine andere Tabelle referiert. Die andere Tabelle ist also nichts weiter als eine Lookup Tabelle.

Wie krieg ich das denn nun hin, um mir die möglichen Lookupwerte in einer ComboBox in C# anzuzeigen. Natürlich so, wenn ich den Wert ändere, der Wert in der Mastertabelle natürlich angepasst wird. In Delphi hätte ich da früher einfach ein DBLookupComboBox auf mein Form gelegt, Datasource und ListSource angepasst und gut war. In ADO.NET spiel mit den skurilsten Dingen run (DataRelations, DataBindings usw.), aber ich krieg das zum Verrecken nicht hin
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Lookup Tabelle und Combobox

  Alt 8. Jan 2008, 10:17
Wow... Nachdem der Morgen nun fast rum ist, hab ich endlich die Lösung gefunden, die ich natürlich nicht vorenthalten will.

Ich habe also 2 DataTable, dtMaster und dtLookup. In der dtMaster gibt es ein Feld ClassificationId, welches über einen Foreign in der DB an die LookupTabelle Classification gebunden ist. Diese Tabelle beinhaltet weiterhin eine Spalte Description, welche in meiner Combobox angezeigt werden soll.

Dann geht das wie folgt:

Code:
/* 1 */
cmbClassification.DataSource = dtLookup;
cmbClassification.DisplayMember = "Description";
cmbClassification.ValueMember = "ClassificationId";

/* 2 */
cmbClassification.DataBindings.Add("SelectedValue", dtMaster, "ClassificationId");
Schritt 1 sorgt dafür, dass die Werte aus der Lookuptabelle dtLookup angezeigt werden. Damit aber jetzt auch beim Ändern eines Wertes in der Combobox, das Feld in der Mastertabelle geupdated wird, muss noch eine DataBinding angelegt werden. Genau das war meine Suche den halben Morgen lang, wie die auszusehen hat.

Schritt 2 legt einfach in die Property SelectedValue der Combobox nix anderes als die Spalte ClassificationId aus der Mastertabelle dtMaster.

Also wär ich nicht auf der Arbeit, und wäre es nicht noch morgens, dann wär aber jetzt mal locker ein Weizen fällig.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz