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/)
-   -   Erweiterung VirtualStringTree als Grid (https://www.delphipraxis.net/173127-erweiterung-virtualstringtree-als-grid.html)

Guentiganz 8. Feb 2013 08:02

Erweiterung VirtualStringTree als Grid
 
Hallo,

Ich habe eine eigene Komponenente abgleitet von einem TVirtualStringTree.
Diese soll als Grid dienen.
Ich habe sie um eine DataSet Property erweitert.
Aktuell werden die Spalten im Treeview automatisch anhand der Dataset.Fields gesetzt und auch der Displayname übernommen.

Habe ich die Möglichkeit, bei den Columns ein Feld zur Zuordnung des Felds zu haben, sprich eine neue Property in den TVirtualTreeColumns ohne, das ich die restliche Logik für die columns neu programmieren muss.

Der Hintergrund ist, dass ich einfach nicht alle Columns anzeigen möchte, momentan definiere ich das über die visible Eigenschaft der Columns im Dataset.

sh17 8. Feb 2013 08:32

AW: Erweiterung VirtualStringTree als Grid
 
Das Tag der Spalte?

Guentiganz 8. Feb 2013 08:45

AW: Erweiterung VirtualStringTree als Grid
 
Den Tag kann ich leider nicht nehmen, da ich dieses schon für unsere Rechteverwaltung als Zuordnung nehme, welches Recht für das Objekt benötigt wird

uligerhardt 8. Feb 2013 08:46

AW: Erweiterung VirtualStringTree als Grid
 
Es gibt in TBaseVirtualTree eine Methode
Delphi-Quellcode:
    function GetColumnClass: TVirtualTreeColumnClass; virtual;

Ich nehme an, die ist für solche Zwecke gedacht - hab's aber nie ausprobiert.

uligerhardt 8. Feb 2013 08:49

AW: Erweiterung VirtualStringTree als Grid
 
Zitat:

Zitat von Guentiganz (Beitrag 1202556)
Den Tag kann ich leider nicht nehmen, da ich dieses schon für unsere Rechteverwaltung als Zuordnung nehme, welches Recht für das Objekt benötigt wird

Du könntest im Tag einen Zeiger auf ein Record (oder eine Referenz auf eine Klasseinstanz) speichern und im Record alle benötigten Infos halten.

Guentiganz 8. Feb 2013 09:21

AW: Erweiterung VirtualStringTree als Grid
 
Zitat:

Zitat von uligerhardt (Beitrag 1202558)
Zitat:

Zitat von Guentiganz (Beitrag 1202556)
Den Tag kann ich leider nicht nehmen, da ich dieses schon für unsere Rechteverwaltung als Zuordnung nehme, welches Recht für das Objekt benötigt wird

Du könntest im Tag einen Zeiger auf ein Record (oder eine Referenz auf eine Klasseinstanz) speichern und im Record alle benötigten Infos halten.

Das wollte ich eigentlich vermeiden.
Da ich über den Objektinspector die Rechte definiere :)

ich schau mir mal GetColumnClass an

http://www.delphipraxis.net/87409-pr...einfuegen.html

Lemmy 8. Feb 2013 09:33

AW: Erweiterung VirtualStringTree als Grid
 
Zitat:

Zitat von uligerhardt (Beitrag 1202558)
Zitat:

Zitat von Guentiganz (Beitrag 1202556)
Den Tag kann ich leider nicht nehmen, da ich dieses schon für unsere Rechteverwaltung als Zuordnung nehme, welches Recht für das Objekt benötigt wird

Du könntest im Tag einen Zeiger auf ein Record (oder eine Referenz auf eine Klasseinstanz) speichern und im Record alle benötigten Infos halten.


besser nicht, da die Komponente damit automatisch nicht für 64bit verwendet werden kann.

Grüße

Guentiganz 8. Feb 2013 09:39

AW: Erweiterung VirtualStringTree als Grid
 
Zitat:

Zitat von Lemmy (Beitrag 1202567)
besser nicht, da die Komponente damit automatisch nicht für 64bit verwendet werden kann.
Grüße

Warum gibt es hier Probleme?
Bei den Trees nutze ich auch Zeiger, und halte die Daten in einem Record, funktioniert aber auf x64

Lemmy 8. Feb 2013 09:46

AW: Erweiterung VirtualStringTree als Grid
 
das TAG-Property speichert einen Interger, der ist auf x32 und x64 aber 32 Bit breit, d.h. da passt bei x64 halt kein Pointer rein...

sh17 8. Feb 2013 09:51

AW: Erweiterung VirtualStringTree als Grid
 
Zitat:

Zitat von Guentiganz (Beitrag 1202556)
Den Tag kann ich leider nicht nehmen, da ich dieses schon für unsere Rechteverwaltung als Zuordnung nehme, welches Recht für das Objekt benötigt wird

welches Objektes? des Fields? Dann verschiebe das Recht in das Field des Datasets


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