![]() |
Welche Komponente für Tabellen?
Hallo zusammen
Ich möchte in einer Tabelle die Datensätze einer MySQL Tabelle ausgeben. Nun frage ich mich, mit welches Komponente dies am besten und elegantesten zu realisieren ist. Ich habe mir mal StrngGrid angeschaut. Auch ListView und ListBox Wobei mich keine auf anhieb überzeugte. Auffüllen würde/müsste ich die Tabelle dann selbst. Ich möchte auch die Möglichkeit haben, links von einem Eintrag ein Icon anzuzeigen. Bei StringGrid gefällt mir nicht, dass ich mich selbst manuell darum kümmern muss, dass die Spalten immer so breit sind wie das StringGrid selbst. Perfekt wäre noch, wenn die Tabelle das darunterliegende TImage durchscheinen lässt, bzw. transparent ist. Das geht vermutlich jedoch nicht. //EDIT Die Tabelle muss nur ReadOnly können. Vorerst... :) Danke für euere kreativen Vorschläge. |
AW: Welche Komponente für Tabellen?
Hast Du Dir die VirtualTreeview schon einmal angeschaut? Die Lernkurve ist zwar ziemlich steil, dafür kann das Ding fast alles, außer Kaffee kochen vielleicht.
|
AW: Welche Komponente für Tabellen?
Danke für deine Antwort.
Meinst du VirtualTreeview oder einfach TreeView? |
AW: Welche Komponente für Tabellen?
Ich meinte VirtualTreeview, auch als VirtualStringTree bekannt. OpenSource und sehr mächtig.
|
AW: Welche Komponente für Tabellen?
Danke werde ich mir mal anschauen :)
|
AW: Welche Komponente für Tabellen?
Was spricht dagegen, einfach ein
![]() ![]() |
AW: Welche Komponente für Tabellen?
Und da muss man dann noch nicht einmal programmieren.
|
AW: Welche Komponente für Tabellen?
AFAIK steht das in der Starter-Edition nicht zur Verfügung.
|
AW: Welche Komponente für Tabellen?
Du meinst, man kann in der Starter-Edition auch keine Jedi-Komponenten installieren? Oder zumindest diejenigen nicht, die mit Datenbanken zu tun haben? Wenn ja, dann wußte ich das nicht. Aber könnte man dann nicht wenigstens das TjvDBGrid zur Laufzeit erzeugen, wenn man die benötigten Units einbindet? Und wie greift man dann mit XE6Starter überhaupt auf eine MySQL-Datenbank zu?
|
AW: Welche Komponente für Tabellen?
Meines Wissens nach enthält die Starter-Edition kein TDataset. Komponenten, die davon abgeleitet werden, kann man also nicht benutzen. Das heißt aber ja nicht, dass man deswegen nicht mit Datenbanken arbeiten könnte, es ist nur etwas mehr Aufwand nötig als bloße Komponenten-Schubserei. Ich weiß nicht, ob es eine Unicode-Portierung davon gibt, aber MySQL direct wäre z.B. eine Option.
|
AW: Welche Komponente für Tabellen?
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für eure Antworten
Es ist korrekt, dass die Starter Version keinerlei Datenbank komponenten enthält. Ich gehe den Weg über MySQL Direkt mittels der libmysql.dll Funktioniert bisher einwandfrei und sehr schnell. Ich habe mir virtualTreeView angesehen und bin ziemlich begeistert. Nur wie bereits erwähnt wurde, braucht es dazu ein wenig Einarbeitung. Für meinen Fall, möchte ich nur eine simple Tabelle erzeugen ohne Baumstruktur. Im Anhang habe ich ein Bild von einem treeview welcher ziemlich genau so aussieht wie ich das gerne hätte. Anstelle der Checkbox links würde ich ein icon platzieren. Leider habe ich bisher keine zielführende Dokumentation gefunden, mit welcher ich sehe, wie ich das gewünschte Ziel erreichen kann. Hat mir hier vieleicht jemand einen Tipp, wie ich meinen VirtualTreeView so aussehen lassen kann wie jener im Bild? Danke schonmal |
AW: Welche Komponente für Tabellen?
Schau doch mal auf der "alten"
![]() |
AW: Welche Komponente für Tabellen?
Weiss jemand wie man die gepunktete Linie bei den Nodes ausblenden kann?
Daten einfügen klappt. |
AW: Welche Komponente für Tabellen?
Die Visual LiveBindings sind auch nicht in der Starter drin?
* Klasse mit der Struktur (Felder der Tabelle) erstellen * als TList<> mit den Daten befüllen * per LiveBinding ans StringGrid binden |
AW: Welche Komponente für Tabellen?
Livebindings gibt es erst ab Professional.
|
AW: Welche Komponente für Tabellen?
Zitat:
Alternativ gibt es noch die Option TreeOptions --> Paint Options --> toShowRoot. Dann werden allerdings auch die + und - Symbole entfernt was jedoch bei einer einzigen Ebene von Nodes nicht schlimm ist. |
AW: Welche Komponente für Tabellen?
Vielen Dank!
Sieht schon sehr gut aus. Bisher übergebe ich ein record bestehend aus strings. Kann man auch anstelle von strings z.b. ein TImage übergeben und dieses in die Zelle zeichnen? |
AW: Welche Komponente für Tabellen?
Zitat:
[EDIT]Icons können selbstverständlich auch selbst in einem der tausenden PaintEvents (OnBeforeCellPaint, OnAfterCellPaint, OnAfterItemPaint, OnAfterPaint, ...) gezeichnet werden. Hier kommt es immer ganz darauf an, was "sichtbarer" sein soll. Das letzte Event zum Zeichnen einer Zelle das ausgelöst wird ist AFAIK OnAfterCellPaint. Hier wird dann nochmal über alles andere drüber gemalt.[/EDIT] Das selbe funktioniert auch für den Header. Hier musst du mit der Property
Delphi-Quellcode:
ebenfalls eine ImageList anbinden und dann mit der Property
vst.Header.Images
Delphi-Quellcode:
den Index für das Icon festlegen.
vst.Header.Columns[x].IconIndex
Schau dir wie von DeddyH erwähnt auf der "alten" HomePage des VirtualTrees einmal die Dokumentation in der PDF Datei an. Die ist besser gepflegt als die CHM Datei. Allerdings fehlen auch dort drin viele neue Funktionen. Die beste Hilfe wenn du dich ein wenig mit der Komponente auseinandergesetzt hast ist sowieso der SourceCode der Komponente. Wenn du dich dort mal ein bisschen eingearbeitet hast, dann läuft das irgendwann automatisch. Die Demoprojekte welche normalerweise bei der Komponente beiliegen sind ebenfalls sehr nützlich und nur zu empfehlen. Hier werden von Basics bis hin zu fortgeschrittenen Techniken alles kurz angetastet um einen kurzen Einstieg zu vermitteln. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz