Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Wie macht der Profi Tabellen in der VCL? (https://www.delphipraxis.net/182909-wie-macht-der-profi-tabellen-der-vcl.html)

Der schöne Günther 26. Nov 2014 10:19

Wie macht der Profi Tabellen in der VCL?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich scheitere am einfachsten. Ich möchte so etwas bauen wie im Anhang.

Ein TGridpanel und dort Komponenten einfügen? Da scheitert es schon an den wechselnden Zeilenfarben: Das TGridpanel bietet hier nichts an. Ich könnte in jede Zelle erst ein Panel in der entsprechenden Farbe und dann die eigentliche Komponente (meistens Label) reinsetzen.

Ein TStringGrid erlaubt nur Strings bzw. das Herummalen in einzelnen Zellen. Ohne mit dem Teil Erfahrung zu haben schätze ich, hiermit nicht glücklich zu werden wenn ich Buttons oder andere native Komponenten darin haben möchte.

Bringen andere Komponenten wie der Virtual Treeview Abhilfe? Bei diesem sehe ich (Beispielbilder) nur immer ... Bäume. Keine Tabellen.

DeddyH 26. Nov 2014 10:21

AW: Wie macht der Profi Tabellen in der VCL?
 
Öhm... gleich der 2. Screenshot zeigt doch, dass der VST auch Tabellenansichten beherrscht.

Der schöne Günther 26. Nov 2014 10:25

AW: Wie macht der Profi Tabellen in der VCL?
 
Vielleicht bin ich zu sehr fixiert auf Bilder die genau zeigen, was ich will, aber ich finde, das kommt nicht einmal ungefähr hin. Ich hätte schon gerne unterschiedliche viele Spalten pro Zeile sowie wechselnde Zeilenfarben.

Hört sich an wie Kinderkram. Ist es wohl auch. Aber ich stehe irgendwie auf dem Schlauch.

Bentissimo 26. Nov 2014 10:32

AW: Wie macht der Profi Tabellen in der VCL?
 
Mit dem Grid von DevExpress lässt sich das unter Verwendung von Bändern und Spalten problemlos darstellen.

Den VST hatte ich früher in Verwendung und auch wenn ich mich nicht mehr wirklich erinnern kann, bin ich sicher, dass damit eine zumindest sehr ähnliche Darstellung möglich ist.

p80286 26. Nov 2014 11:20

AW: Wie macht der Profi Tabellen in der VCL?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1281116)
Vielleicht bin ich zu sehr fixiert auf Bilder die genau zeigen, was ich will, aber ich finde, das kommt nicht einmal ungefähr hin. Ich hätte schon gerne unterschiedliche viele Spalten pro Zeile sowie wechselnde Zeilenfarben.

Hört sich an wie Kinderkram. Ist es wohl auch. Aber ich stehe irgendwie auf dem Schlauch.

Halte ich nicht für Kinderkram, nur scheint mir das dann keine Tabelle zu sein. (wahrscheinlich bin ich nur zu konservativ)
Für mich hört sich das sehr nach einem TFrame an.

Gruß
K-h

Der schöne Günther 26. Nov 2014 11:34

AW: Wie macht der Profi Tabellen in der VCL?
 
Ich habe es nur "Tabelle" genannt, da ich das Bild mit Word zusammengeklickt hatte. Und die Textverarbeitung nennt das halt Tabelle.

Auf Eigengebastel mit vielen Frames wird das ganze wahrscheinlich hinauslaufen.

Dejan Vu 26. Nov 2014 11:43

AW: Wie macht der Profi Tabellen in der VCL?
 
Du willst also ein Grid mit zwei Überschriften: Pro Zelle eins und dann noch etwas wie 'Gruppenüberschriften', wobei eine Gruppe aus nebeneinanderliegenden Spalten besteht.

Du könntest die Draw-Routine erweitern, die die Spaltenköpfe zeichnet. Damit solltest Du Erfolg haben.

Machst Du das als Hobby oder hast Du kein Budget? VST
Hast Du Budget? Nimm DevExpress. Es gibt, was tabellenartige Darstellung und Eingabe anbelangt, imho nichts besseres.

Sir Rufo 26. Nov 2014 12:00

AW: Wie macht der Profi Tabellen in der VCL?
 
Wenn das nur "angezeigt" werden soll, dann einfach selber auf einen Canvas malen oder eben einem TDrawGrid eine Zeichen-Methode unterjubeln.

Bau dir eine Klasse, der du die Daten übergeben kannst (das sind in deinem Falle ja Spalten mit jeweils 2 Werten)
Delphi-Quellcode:
TDataItem = class
  property Percent : Double;
  property Title : string;
end;

TDataColumn = class
  property Title : string;
  property Items : TList<TDataItem>;
end;

TDataContainer = class
  property RowTitle : TList<string>;
  property Columns : TList<TDataColumn>;
end;
und jetzt noch einen Presenter, der so einen DataContainer in einem Control anzeigen kann. Mit einem abstrakten Presenter würde ich anfangen und davon alle benötigten (für StringGrid, ListView, DrawGrid, VST) ableiten.

alda 2. Dez 2014 23:18

AW: Wie macht der Profi Tabellen in der VCL?
 
Der VirtualStringTree ist extrem flexibel in jeglicher Hinsicht. Eine "stinknormale" Tabellenform ist kein Problem und kann über das Setzen weniger Optionen realisiert werden. Was Deinen "Spezialwunsch" angeht wirst Du aber vermutlich ein paar Zeilen selbst Zeichen müssen, damit der VirtualStringtree am Ende genau so aussieht, wie Du Ihn gerne hättest.

Die Komponenten von DevExpress sind natürlich absolute Spitzenklasse, kosten dann aber auch dementsprechend was.

ibp 3. Dez 2014 07:41

AW: Wie macht der Profi Tabellen in der VCL?
 
TAdvStringGrid von TMS Software wäre auch eine Möglichkeit. Nutze diese selber. Wechselfarben der Zeilen, eingebettete Komponenten etc. alles enthalten. Unterschiedliche Anzahl der Spalten realisiere ich indem ich diese einfach mit der Hintergrundfarbe überzeichnen lasse.


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