Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid mit Multilienes - mehrere Datenfelder pro Zelle (https://www.delphipraxis.net/102730-dbgrid-mit-multilienes-mehrere-datenfelder-pro-zelle.html)

Hiele 3. Nov 2007 13:41

Datenbank: Access • Zugriff über: ADO

DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
Moin zusammen,

ich suche nun schon seit Tagen :evil: nach einer Lösung (auch kaufbar) ein DBGrid
mit dem ich mehrere Datenfelder einer Tabelle pro Zelle darstellen kann.

Ich stelle mir folgendes vor:


Vorname |Strasse |Telefon
Nachname |PLZ |Fax
Alter |Ort |
-------------------+-------------------+-----------
Max |Musterstr. 3 |0123/4567
Mustermann |99999 |
35 |Musterort |
-------------------+-------------------+-----------
Sabiene |Maxstr. 1 |023/56666
Musterfrau |12345 |023/99833-3
23 |Musterdorf |
---------------------------------------------------
.
.
.

Die Felder müssen auch nicht editierbar sein.
Es geht nur um die Anzeige der Daten.

Wo nach bzw. nach was soll ich suchen.
Bitte um ein Tipp.
Habe Dank

Gruß Hiele

jbg 3. Nov 2007 14:06

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
Mit der TDBCtrlGrid Komponente und ein paar DBLabel Komponenten dürfte das nachbaubar sein.

mschaefer 3. Nov 2007 16:24

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
In der SQL Query kann man doch berechnete Felder erstellen 'mit AS'. Somit kann man auch Felder conatieren und diese berechneten Felder erscheinen dann als normale Spalten im DBGrid.

Grüße // Martin

Faxman 3. Nov 2007 18:39

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
developerexpress hat das was du suchst
guckst du hier: devexpress

suche nach grid

have fun

Hiele 4. Nov 2007 10:35

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
Hallo,

dank euch erstmal für die schnellen Antworten.

TDBCtrlGri ist leider etwas unflexibel. Wenn ich das Fenster in der Größe ändere, muss ich nicht nur die Anzahl der 'Rows' neu berechnen, sondern auch die Positionen der Labels, da die einzelenen Infos aus der DB auch unterschiedlich sind.

Mit dem SQL Query geht es leider nicht, da die einzelenen Werte ja nicht hintereinander stehen sollen

Anrede
Vorname
Nachname
===========
Herr
Max
Mustermann
-----------
Frau
Sabine
Musterfrau
-----------
etc.

Ich habe es auch schon mit OnDrawColumn probiert.
Da habe ich die benötigten Werte in ein String geschrieben und mit Textout ausgegeben.
Doch der Umbruch klappte nicht (#13) :(


Devexpress ist zwar extrem umfangreich, aber eine Funktion um mehrere Fields in eine Zelle zu bekommen ist nicht vorgesehen. Zumind. habe ich nichts gefunden.

Ist diese Art der Tabellarischen Darstellung denn so ungewöhnlich?
Die Tabelle enthält einfach zu viele benötigte Felder, welche sinnvoll
dargestellt werden sollen. Ich will die Tabelle einfach nicht zu breit werden lassen.

Leider bin ich nicht der Delphi absolute Crack. :oops:

Dank euch also nochmals.

Gruß
Hiele der gerne Tabellen darstellt ;)

jbg 4. Nov 2007 11:16

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
Zitat:

Zitat von Hiele
Ich habe es auch schon mit OnDrawColumn probiert.
Da habe ich die benötigten Werte in ein String geschrieben und mit Textout ausgegeben.
Doch der Umbruch klappte nicht (#13) :(

Windows.DrawText(Grid.Canvas.Handle, ...) kann mit Zeilenumbrücken umgehen. Canvas.TextOut() ruft DrawText() mit dem Flag DT_SINGLELINE auf, was deine Zeilenumbrüche natürlich "zerstört". Wenn du also DrawText() selbst aufruft und kein DT_SINGLELINE als Flag angibst, wird der Text auch umgebrochen.

grenzgaenger 4. Nov 2007 12:16

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
sag mal, weshalb nimmste nicht schnell 'n tStringGrid, schmeisst die datensätze rein, halt in drei zeilen, passt die formatierung an... damit es gut aussieht und schon biste fertig :-)

musst halt nur selbst die daten ins grid stellen... denke, das problem sollte doch lösbar sein :-)

Faxman 4. Nov 2007 12:34

Re: DBGrid mit Multilienes - mehrere Datenfelder pro Zelle
 
also wenn ich das richtig verstehe, soll das wohl eine art vertical grid sein.
JvgVertDL aus der Jedi Vcl stellt sowas zur verfügung.
vieleicht mal testen.

ausserdem hat die devexpress componente (DBGrid) einen sogenannten card modus
siehe bild aus dem cardview beispiel falls die demo installiert ist.
in diesem grid geht fast alles.
es gibt dort auch ein repository mit dem man alle möglichen felder veknüpfen und in einer zeile anzeigen lassen kann.
aber vielleicht für einen delphi anfänger ein bisserl zu komplex.




greets


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