Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   DBGridfeld nicht bescheibbar (https://www.delphipraxis.net/185923-dbgridfeld-nicht-bescheibbar.html)

Wamprecht 18. Jul 2015 07:32

DBGridfeld nicht bescheibbar
 
Hallo, ich habe in einen Datensatz ein Lookupfeld eingebaut. Leider kann ich dieses nur beschreiben, wenn ich das Drop-Down-Menü für dieses Feld benutze. Wie kann ich eine direkte Eingabe realisieren?

Perlsau 18. Jul 2015 12:26

AW: DBGridfeld nicht bescheibbar
 
Interessant wäre zu erfahren:
  1. Mit welchem DBMS arbeitest du?
  2. Mit welcher Delphi-Version arbeitest du?
  3. Mit welchen DB-Zugriffskomponenten arbeitest du?

Mit bidirektional arbeitenden Zugriffskomponenten funktioniert das bei mir einwandfrei: Ich bereite ein Dataset oder Query für die zu erwartende Datenmenge vor, indem ich den Select-Befehl im Objektinspektor (OI) eingebe und dach die anderen SQL-Befehle wie Update, Insert, Delete usw. Die meisten DB-Komponenten, die mir bisher unterkamen, erledigen das halb- oder vollautomatisch. Danach klicke ich auf das Dataset bzw. Query mit der rechten Maustaste und wähle den Feldeditor (FE), in den ich ebenfalls mit der rechten Maustaste reinklicke und dein Eintrag Alle Felder hinzufügen ausführe. Danach werden alle Felder (Tabellenspalten) dort namentlich aufgeführt. Nun kann ich z.B. ein Feld markieren und mir im OI dessen Properties anzeigen lassen. Ich kann aber auch, und das ist wohl des Rätsels Lösung, in einen leeren Bereich des FE wieder mit der rechten Maustaste klicken und den Eintrag Neues Feld auswählen. Daraufhin erscheint ein Dialogfeld, wo ich z.B. auswählen kann, welchen Typ das Feld haben soll, ob es sich um ein berechnets Feld handeln soll oder einfach – und das ist jetzt wieder dein Ding – Nachschlagen, was auf englisch soviel wie Lookup bedeutet. Danach gibts du das Schlüsselfeld, die Datenmenge, den Schlüssel und das Ergebnisfeld an:
  • Schlüsselfeld ist der Foreign-Key (FK) in deiner Haupttabelle
  • Datenmenge ist die Lookup-Tabelle, in der der eben erwähnte FK den Primary Key (PK) abgibt.
  • Schlüssel ist eben jener PK deiner Lookup-Tabelle.
  • Ergebnisfeld ist die Spalte, die ausgelesen und angezeigt werden soll.

Nun wird – immer vorausgesetzt, es handelt sich um eine bidirektionale Datenmenge – beim Editieren jenes Feldes im DBGrid ein Lookup-Combo angezeit.

Sollten deine Zugriffskomponenten lediglich unidirektionale Datenmengen bereitstellen, geht das natürlich nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 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