Thema: Delphi Arbeiten mit TTreeView

Einzelnen Beitrag anzeigen

Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Arbeiten mit TTreeView

  Alt 8. Jan 2016, 23:10
Hi,

hab folgendes TDictionary ergänzt:

FTagDict: TDictionary<string, TTreeNode>;

Daraus ergibt sich folgender Code:
Delphi-Quellcode:
procedure UpdateList;
var
  i, k: integer;

  varStringArray: TStringDynArray;
  varTreeNodeItem: TTreeNode;
begin
  
  FTagDict.Clear;

  TreeView.Items.BeginUpdate;
  
  TreeView.Items.Clear;

  for i := 0 to FObjects.Count-1 do
    begin
      
      // Wurde ein Tag gesetzt?
      if (trim(FObjects[i].tags) <> '') then
        begin
          varStringArray := SplitString(FObjects[i].tags, ';');
        end
      else
        begin
          setlength(varStringArray, 1);
          varStringArray[0] := 'Untagged Objects';
        end;

      for k := 0 to length(varStringArray)-1 do
        begin
          
          // Leere Tags ignorieren
          if varStringArray[k] = 'then Continue;
          
          if FTagDict.ContainsKey(varStringArray[k]) then
            varTreeNodeItem := FTagDict.Items[varStringArray[k]]
          else
            varTreeNodeItem := nil;

          if Assigned(varTreeNodeItem) then
            begin
              TreeView.Items.AddChild(varTreeNodeItem, FObjects[i].ItemCaption);
            end
          else
            begin
              varTreeNodeItem := TreeViewBusinessObjects.Items.Add(nil, varStringArray[k]);
              FTagDict.Add(varStringArray[k], varTreeNodeItem);
              TreeView.Items.AddChild(varTreeNodeItem, FObjects[i].ItemCaption);
            end;
      
        end;
        
    end;

  TreeView.Items.EndUpdate;

end;
Es wird besser

Danke & Viele Grüße
  Mit Zitat antworten Zitat