Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
5. Mai 2007
Hallo,
hab mal deinen älteren Code überflogen.
Da werden Daten aus der Datenbank in ein verborgenes StringGrid geschrieben um sie dann an ein TreeView zu übergeben :gruebel:
>> siehe Kommentar
TreeView1.Items.BeginUpdate;//vor der Schleife = ok
TreeView1.Items.Clear;
for z := 0 to DKStringGrid4.RowCount - 2 do
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
4. Mai 2007
Hallo,
ein viertel Stunde, das dauert eindeutig zu lange. :shock:
Wieviel Einträge sind es denn 1000, 2000 oder eher 100000?
Werden BeginUpdate und EndUpdate in Deinem Code genutzt?
Wie sieht denn jetzt die abgespeckte Version der Funktion und deren Aufruf aus?
Wenn man da nichts mehr verbessern kann bietet es sich an nur die erste Ebene der Nodes bei der Initialisierung in das...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
3. Mai 2007
Hallo,
falls du meine vorgeschlagene Vorgehensweise mit der Funktion genommen hast würde ich das bei einer so hohen Zeilenanzahl noch optimieren.
StringGrid.Rows ist vom Typ TStrings, der vor der Übergabe an die Funktion zu einen String zusammengesetzt wird, dieser String wird dann innerhalb der Funktion wieder aufgedröselt.
Änder doch die Funktion so ab das StringGrid.Rows direkt übergeben...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
3. Mai 2007
Hallo,
ob ich das richtig verstanden habe :gruebel:
Teste mal folgendes:
-der Funktion AddTreeNodePathDupIgnore den letzten Eintrag nicht mit übergeben
-die Funktion liefert Dir im Parameter ReNode den eingefügten bzw. gefundenen Knoten
-an diesen hängst Du dann Deinen letzten Eintrag aus der Row des Grids
//...
TreeView.Items.AddChild(ReNode,DerLetzteAusDemGrid);
//...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
3. Mai 2007
Hallo,
die Funktion AddTreeNodePathDupIgnore aus der Delphi-Library der Entwickler-Ecke hilft Dir.
Auslesen des StringGrids und Aufruf der Funktion:
var z,i : Integer;
ReNode : TTreeNode;
s : String;
begin
TreeView1.Items.BeginUpdate;