AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Variable Lookup-Felder
Thema durchsuchen
Ansicht
Themen-Optionen

Variable Lookup-Felder

Ein Thema von Der Jan · begonnen am 15. Mai 2006
Antwort Antwort
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#1

Variable Lookup-Felder

  Alt 15. Mai 2006, 14:57
Datenbank: Firebird • Version: 1.5 • Zugriff über: FIBPlus
Hallo miteinander,

ich hab mal wieder ein Problem.
Folgender Hintergrund: Ich muß eine Liste von Erstatzteilen, die für eine Reparatur gebraucht werden, anzeigen und bearbeiten. Anzeigen tu ich die Liste mittels DevExpress-Grid und bearbeiten mittels der normalen DB-Komponenten aus VCL/JVCL, es ist aber auch eine Bearbeitung direkt im Grid möglich.
Die Erstatzteile stehen in einer Tabelle MATERIAL, Zugriff per FibDataset "dsetMaterial". Die für das Problem relevanten Felder sind ARTNR (Artikelnummer) und FEHLERCODEID (ein Fehlercode). Die Fehlercodes stehen in 3 Tabellen, auf die ich ebenfalls per FibDataSet "dsetStdFehler" zugreife. Auswählen kann man die Fehlercodes mittels LookupCombobox "cmbStdFehler". Nun können aber die verschiedenen Ersatzteile unterschiedliche Fehlercodes haben, z.B. kann ein Gehäuseteil verkratzt oder gebrochen sein, während eine Platine verschmort oder gebrochen sein kann usw.
Und genau hier beginnen die Probleme.
1. Wenn man die Artikelnummer ändert (edtArtNr.OnChange), setze ich dsetStdFehler.Filter, um so die Einträge in cmbStdFehler zu ändern. Dies funktioniert aber nur, wenn cmbStdFehler nicht mit den dsetMaterial verknüpft ist (Property DataSource). D.h. ich müßte auf eine AUswahl manuell reagieren, was recht aufwendig ist. Wie kann man das ändern?
2. Da die Fehlercodes für die Artikel unterschiedlich sein können, es sich bei der Fehlercode-Spalte im Grid aber auch um Lookup-Felder handelt, gibt es einen weiteren unschönen Nebeneffekt: Wenn man ein Teil anklickt, werden bei den anderen Teilen nur noch die Fehlercodes angezeigt, die auch für das ausgewählte Teil existieren, die anderen verschwinden. Wie könnte man das lösen? ich habe mir überlegt, für jedes Teil dynamisch ein eigenes DataSet/DataSource zu erzeugen, aber irgendwie erscheint mir das zu "verschwenderisch". Gibt es vielleicht eine "schlankere" Lösung?
Mir sind leider ein bischen die Ideen ausgegangen...
Gruß, Jan
  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 16:45 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