Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Einzelne Felder eines Records in DBGrid anzeigen (https://www.delphipraxis.net/64337-einzelne-felder-eines-records-dbgrid-anzeigen.html)

Archer 2. Mär 2006 10:49

Datenbank: Access • Zugriff über: nur ADO

Einzelne Felder eines Records in DBGrid anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

Also ich habe folgendes Problem:

Ich habe eine Access Tabelle mit verschiedenen Spalten ... ok

Mittels DBNavigator kann ich nun durch die Records blättern, und ausgewählte Angaben werden
in DBEdit-Feldern angezeigt ... ok

Nun möchte ich aber bestimmte Spalten der Tabelle in einem DBGrid anzeigen ... ok

Aber: Wie bringe ich dem DBGrid bei, dass nur die Werte der Spalten des mit dem
Navigator ausgewählten Records angezeigt werden???

Im Anhang ein Screenshot zur Verdeutlichung!

Für schnelle Hilfe wäre ich sehr dankbar!!!

Gruß
Archer

Angel4585 2. Mär 2006 10:56

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
du kannst mirt
Delphi-Quellcode:
with DBGrid.Columns.Add do
 begin
 FieldName:'TestFeldName';
 Title.Caption:='TestAnzeige';
 .
 .
 .
 end;
einzelne Spalten anzeigen lassen und die anderen damit ausblenden.

Sharky 2. Mär 2006 11:01

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Hai Archer,

so richtig ist mir noch nicht klar geworden was Du machen möchtest.
Erkläre doch noch einmal den genauen Ablauf bzw. die Bedinungen für deine Tabelle.
Ich fürchte nämlich fast das Du da einen Designfehler in der Tabellenstruktur hast umd das zu machen was Du möchtest.

Angel4585 2. Mär 2006 11:14

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Achso.. du meinst er will vielelicht eigentlich die Spalten Achse1 und Achse2 und diese Zahl, und dann beliebig viele Antriebe dazu erstellen?

Archer 2. Mär 2006 11:15

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Also nochmal ausfühlicher...

In der Tabelle werden Projekte gespeichert(mit spalten wie Kunde, Projektnummer, Projektname...).
In jedem Record stehen neben den genannten Werten auch die benutzten Antriebe in Spalten.

Struktur etwa:

Kunde|Projektnummer|Projektname|Antrieb1|Antrieb2| Antrieb3| ...

mit dem linken Teil meiner Form (siehe Screenshot) wähle ich mittels DBNavigator den Record aus.
Dabei werden die Werte Kunde, Projektnummer, Projektname... in DBEdit-Feldern angezeigt.

nun möchte ich im rechten Teil in einem DBGrid nur den Teil |Antrieb1|Antrieb2|Antrieb3| des Records,
der links gewählt wurde angezeigt bekommen. Momentan zeigt er mir aber den Teil |Antrieb1|Antrieb2|Antrieb3| aller vorhandenen Projekte an.

Deutlicher?

Danke für Tipps!

Gruß, Archer

Archer 2. Mär 2006 11:17

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Zitat:

Zitat von Angel4585
Achso.. du meinst er will vielelicht eigentlich die Spalten Achse1 und Achse2 und diese Zahl, und dann beliebig viele Antriebe dazu erstellen?

Nein, die Anzahl der Spalten für Achsen ist fix.
Ich möchte lediglich nur die Werte der Spalten des links ausgewählten Record angezeigt bekommen.

Angel4585 2. Mär 2006 11:25

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
mach eine zweite Tabelle mit den Antrieben und weise jedem antrieb die ID des jeweiligen Datensatzes der ersten Tabelle zu. jetzt Filterst du die zweite Tabelle nach der ID des ausgewählten DS der ersten Tabelle und lässt das ganze anzeigen. Fertig.

Edit:
Ich glaub ich verstehs grad nich so ganz... oder?

Du hast eine Tabelle mit Projekt, Antrieb1, Antrieb2 und Antrieb3

Jetzt willst du antrieb1, Antrieb2 und Antrieb3 von Projekt anzeigen?

Archer 2. Mär 2006 11:45

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
:gruebel: So Ähnlich!!
Folgendes Phänomen habe ich bereits:
ich habe mit
Delphi-Quellcode:
recnr:=Adotable1.RecNo;
adodataset1.RecNo:=recnr;
die RecNo des links ausgewählten Datensatz zugewiesen
auf das Dataset des DBGrids.

Blättere ich nun mit dem Navigator links durch die Records, zeigt ein Pfeil schon
im DBGrid auf den aktuellen Datensatz.

Ich möchte da aber halt nur diesen einen aktiven Datensatz sehen, und nicht alle
vorhandenen.
Anbei nochmals ein Screenshot:

Rot: Beim Drücken der Navigator Buttons erfolgt die Bewegung rechts im Grid.
Grün: Nur diese zeile möchte ich dargestellt sehen, da nur die Zeile zum gewählen Record gehört.
Die rot durchgestrichenen Felder gehören zu anderen Records, die ich nicht sehen möchte.

mkinzler 2. Mär 2006 11:48

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Ein Grid zeigt immer mehr als einen Datensatz an. Einzige Möglichkeit, wei schon von Angel4585 vorgeschlagen 2 Datenmenge die auf den aktuellen des Navigators gefiltert.

Sharky 2. Mär 2006 11:50

Re: Einzelne Felder eines Records in DBGrid anzeigen
 
Hai Archer,

so wie Du es vorhast geht es nicht (sauber).

Du hast zwei Möglichkeiten:

a) Die schlechtere:
Du arbeitest mit zwei ADOTablen (oder besser gleich mit ADOQuerys). Die erste verwendest Du "links" zum auswählen des Datensatzes.
Im Delphi-Referenz durchsuchenAfterScroll-Ereigniss dieses DataSets filterst Du dann für die zweite ADOTable die Einträge heraus welche die selbe Projektnummer haben.

b) Die, wie ich finde, bessere:

Das Grundprinzip ist wie bei a). Der Unterschied ist aber das Du die Daten in zwei verschiedenen Tabellen speicherst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.
Seite 1 von 2  1 2      

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