Hallo zusammen
Bin gerade seit einiger Zeit an einem Problem und finde selber sowie im Internet keine geeignete Lösung sodass ich mich an Euch hier wende.
Ich habe 4 Tabellen welche miteinander jeweils über eine PK/FK ID verbunden sind (jeweils eine 1-n Verbindung):
Tabelle 1 = Domäne
Tabelle 2 = Abteilung
Tabelle 3 = Team
Tabelle 4 = Mitarbeiter
Jetzt wollte ich 4 Comboboxen machen und diese via Databinding anschliessen. Soweit so gut. Das ist ja nicht das Problem. Die DS (Datasets sind erstellt) den Rest kann ich im Visual Studio zuweisen.
Mein Problem fängt aber jetzt erst richtig an.
Der Kunde sollte auf dem GUI die Möglichkeit haben dass er ein Mitarbeiter wählt und dann sollten die oberen Comboboxen vom System befüllt werden.
Wenn der Kunde die Combobox Abteilung wählt sollten die Domäne selektiert werden und im Team natürlich nur noch die möglichen Werte angezeigt werden ebenfalls für die Mitarbeiter.
Gibt es allenfalls irgendwo ein Beispiel mit einer ähnlichen Ausgangslage wo ich mir dies als Beispiel anschauen und daran etwas lernen kann?
Wäre toll hier eine kleine Hilfe zu erhalten.
Gruss werdy
Hallo Werdy
Herzlich Willkommen im Forum.
Der Kunde sollte auf dem GUI die Möglichkeit haben dass er ein Mitarbeiter wählt und dann sollten die oberen Comboboxen vom System befüllt werden.
Laut Deiner Beschreibung hat jeder Mitarbeiter nur ein Team, dieses gehört jeweils zu einer Abteilung welche einer Domäne zugeordnet ist. Somit ist ja immer eindeutig welcher Wert drinn stehen muss.
( Filtern )
Wenn der Kunde die Combobox Abteilung wählt sollten die Domäne selektiert werden und im Team natürlich nur noch die möglichen Werte angezeigt werden ebenfalls für die Mitarbeiter.
Ein ComboBox Item hat ja "Text" und "Value". Als Value nimmst du die ID. Somit weisst du genau welche Domäne selektiert sein muss (combobox.Items.First(c=>c.Value==id))...
Nach unten hast du ja N Möglichkeiten, somit kannst du einfach wieder Filtern.
MSDN - DataSet Filtern und Sortieren
Beispiele von Galileo Computing
Beste Grüsse
Diräkt
Edit:
Schau Dir das mal an : Cascading ComboBox
Hallo Diräkt
Danke vielmals für Deine rasche Antwort.
Bezüglich der genauen Spezifikation hätte ich mir etwas mehr Mühe machen können damit es etwas verständlicher wäre. Natürlich will ich nicht die ID anzeigen - mein Ziel sollte es sein mit dem Value zu arbeiten.
Grundsätzlich funktioniert es auch schon nur die Abhängigkeiten machen mir Probleme. Also wenn ich Domäne wähle müssen meine Events dann starten und den Filter der anderen Comboboxen also Abteilung, Team und Mitarbeiter dementsprechend automatisch neu setzen.
Das Beispiel habe ich schnell angeschaut, so was habe ich mir vorgestellt und erfolglos gesucht. Wenn dies nun auch aus 3 unterschiedlichen Quellen kommt dann denke ich kann ich es für mich adaptieren. Werde es so gegen Mittag mal genauer analysieren.
Diesbezüglich schon mal vielen Dank
Finde dies hier ein schönes Forum und klingt für mich schon mal sehr erfolgsversprechend was ich da erhalten habe.
Gruss werdy
Hallo
dies kann aber nur in einer Richtung, nämlich von oben nach unten, funktionieren. Wenn Du nämlich eine Domaine und Abteilung gewählt hast, dann siehst Du unter Team und Mitarbeiter ja nicht mehr alle Einträge.
mfG
Thomas
Hallo thomas.at,
sicher ist das eine gewisse Einschränkung, aber in vielen Fällen ist das trotzdem möglich, z.B. ganz zu Anfang, wo in allen Boxen noch alle Werte stehen, kann man sich als Benutzer die Richtung (noch) frei aussuchen. Aber selbst wenn man von links nach rechts vorgeht, kann es sinnvoll sein, wenn man eine Box überspringen darf und die übersprungene dann automatisch richtig gesetzt wird. Das geht aber alles nur, wenn vom Programm her immer beide Richtungen implementiert sind.
Hallo werdy,
siehe auch [FAQ] Event nur bei Benutzeraktion auslösen, nicht bei programmtechnischer Änderung, um zu verhindern, dass sie die Boxen (endlos) gegenseitig aktualisieren.
Also wenn ich Domäne wähle müssen meine Events dann starten und den Filter der anderen Comboboxen also Abteilung, Team und Mitarbeiter dementsprechend automatisch neu setzen.
Ja, genauso, aber das ist doch kein Problem. (Falls doch beachte bitte vorsorglich [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore