Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TreeView - ALLE selektierten Einträge löchen (https://www.delphipraxis.net/179214-treeview-alle-selektierten-eintraege-loechen.html)

Cordt 20. Feb 2014 15:37

TreeView - ALLE selektierten Einträge löchen
 
Hallo Delphianer,

Ich habe die letzten Tage immer mal wieder an diesem Problem gesessen und glaube auch, dass es so schwer gar nicht sein kann/sollte, aber vermutlich sehe ich den Wald voller Bäume nicht mehr.

Ich will -wie der Titel bereits sagt- alles was in meiner TreeView selektiert ist löschen, unabhängig davon auf welcher Ebene sich die Einträge befinden.

Ich habe schon mit dem AbsolutIndex herumexperimentiert, aber mein Problem ist, dass ich iwie nicht zuverlässig alle selektierten Einträge finde. Ich glaube gelesen zu haben, dass Unterknoten nichtmal eine .selekted Property haben.

Könnt ihr mir da bitte aus dem Wald helfen?

Lg Cordt

Der schöne Günther 20. Feb 2014 15:48

AW: TreeView - ALLE selektierten Einträge löchen
 
Hm, also bei mir tut es eigentlich folgendes:

Delphi-Quellcode:
implementation uses System.Generics.Collections;

{$R *.dfm}
procedure TForm20.Button1Click(Sender: TObject);
var
   treeNode: TTreeNode;
   selectedNodes: TObjectList<TTreeNode>;
begin

   selectedNodes := TObjectList<TTreeNode>.Create(False);
   try
      for treeNode in TreeView1.Items do
         if treeNode.Selected then
            selectedNodes.Add(treeNode);

      for treeNode in selectedNodes do
         TreeView1.Items.Delete(treeNode);
   finally
      selectedNodes.Free();
   end;

end;
Oder habe ich die Frage falsch verstanden?

Cordt 20. Feb 2014 16:20

AW: TreeView - ALLE selektierten Einträge löchen
 
Nein, du hast es vollkommen korrekt verstanden.
Ich hab es auf ne ähnliche Art versucht, indem ich ein Array of Int mit den AbsolutIndizes zu füllen versucht habe, aber jau. Hat auch nicht geklappt.
Das hier klappt wunderbarerweise.
Und ich kann mich nun in die ObjectList einlesen. Die hab ich bisher noch nicht verwendet.
Danke für den Schnipsel und die Horizonterweiterung.

Lg Cordt


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.

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