![]() |
Re: Virtual TreeView
:gruebel: Diesen Gedanken hatte ich auch bereits!
Aber das ist nicht der Fall. Das langsamste ist defenitiv die TListView. Ich habe das bereits ausprobiert. Aber dennoch danke für den Hinweis! PS: Ist wirklich ein Tolles Forum! Bei euch ist es nicht einfach mit einer einfachen Antwort getan :thuimb: Ich finde es klasse das sich hier wirklich Mühe gegeben wird etwas zu erklären. Denke mal hier kann ich noch so einiges lernen. :-D :coder: Gruß CelinaW |
Re: Virtual TreeView
Ups.........
Zitat:
|
Re: Virtual TreeView
Hi @all
Kann mir keiner mit der VirtualTreeView Helfen? :( Gruß CelinaW |
Re: Virtual TreeView
Hallo,
es gibt nen Tutorial bei: ![]() Die Tutorials haben mir auch schon viel geholfen. Gruß´ Samson |
Re: Virtual TreeView
Hi Samson
Danke, aber das Tutorial hab ich schon durch. Habs leider nicht für meinen zweck umsetzen können :( Ich brauche mal ein klares Beispiel anhand meines Source :oops: Kannst du mir da Helfen? :angle2: Gruß CelinaW |
Re: Virtual TreeView
Gerne will ich Dir helfen.
Wegen Termindruck, kann ich das aber nicht vor zwei Wochen tuen. Selbst dann muss ich gucken. Gruß Frank |
Re: Virtual TreeView
der vst ist um einiges schnell als der treeview von windows.
der trick ist die statische speicherverwaltung. erstell mal ein form, ein vst drauf, 4 spalten um mit den vst zu arbeiten muss du dir erstmal ein record erstellen welches dann spaeter die daten halten soll. desweiteren brauchst du einen zeiger auf deine daten.
Delphi-Quellcode:
nun muss du den vst noch mitteilen wie gross deine daten sind.
type
pVstDaten = ^rVstDaten; rVstDaten = Record spalte1, spalte2, spalte3 : String; end; das geht am besten im form.create
Delphi-Quellcode:
wenn jetzt ein knoten hinzugefügt wird weiss der vst wieviel platz er jedesmal allocen muss.
procedure TForm1.FormCreate(Sender: TObject);
begin VirtualStringTree1.NodeDataSize:=sizeof(rVstDaten); end; um den tree zu füllen machst du folgendes:
Delphi-Quellcode:
so das sollte es sein.
procedure TForm1.Button1Click(Sender: TObject);
var i : integer; aktueller_knoten : PVirtualNode; Daten_zum_knoten : pVstDaten; begin // u.a. neuzeichnen verhindern VirtualStringTree1.BeginUpdate; for i:=0 to 1000 do begin aktueller_knoten:=VirtualStringTree1.AddChild(nil); Daten_zum_knoten:=VirtualStringTree1.GetNodeData(aktueller_knoten); Daten_zum_knoten.zeile:=i; Daten_zum_knoten.spalte1:='Das ist der Text Spalte: 1 Zeile:'+inttostr(i); Daten_zum_knoten.spalte2:='Das ist der Text Spalte: 2 Zeile:'+inttostr(i); Daten_zum_knoten.spalte3:='Das ist der Text Spalte: 3 Zeile:'+inttostr(i); end; // wieder zeichnen lassen; VirtualStringTree1.EndUpdate; end; da baum zeigt jetzt erstmal nur "node" als text an. es gibt ein ereignis "ongettext" dort gibts du den text zurueck der im knoten angezeigt werden soll. hat den vorteil das du die daten beliebig aufbereiten kannst. procedure TForm1.VirtualStringTree1GetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var Daten_zum_knoten : pVstDaten; begin Daten_zum_knoten:=VirtualStringTree1.GetNodeData(node); if TextType=ttNormal then begin case Column of 0: CellText:=Daten_zum_knoten.spalte1; 1: CellText:=Daten_zum_knoten.spalte2; 2: CellText:=Daten_zum_knoten.spalte3; 3: celltext:='Nun die Dynamische Spalte Nummer 4 mit Zeile:'+IntToStr(Daten_zum_knoten.zeile); end; end; end; |
Re: Virtual TreeView
ach ja habe noch diese zu deinen code anzumerken:
Delphi-Quellcode:
die editfelder niemals direkt einbinden.'WHERE ' + 'T.Customer_Number=K.Customer_Number ' + 'AND ' + 'T.Customer_Number like ''' + edknr.Text + '''"%" ' + 'AND ' + 'T.Order_Number like ''' + edatnr.Text + '''"%" ' + 'ORDER BY ' + 'T.Order_Number;'; arbeite lieber mit "parameter" lies die das hier mal durch: ![]() das bezieht sich zwar auf eine asp seite funktz aber genau so in anwendungen. |
Re: Virtual TreeView
Hi generic
:thuimb: :thuimb: Danke, das hst du gut erklärt. Ich werde es mal ausprobieren und hoffe das ich damit klar komme. Ich werde auf jeden Fall wieder Posten wie es ausgegangen ist. Und danke für den Tip mit den editfeldern! Liebe grüße Celina |
Re: Virtual TreeView
Hi samson
:nerd: Schön das du mir helfen willst. Ich werde mal versuchen ob ich es mit den Tips von generic hin bekomme. Ich melde mich wieder! :coder: :coder: :coder: Vielen Dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 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-2025 by Thomas Breitkreuz