Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Treeview rekursiv füllen?

  Alt 13. Feb 2006, 19:54
Vielleicht so...

Delphi-Quellcode:
procedure ArrayToBaum(Tree:TTreeView; arr_data: TMyArray);
var Node:TTreeNode;
    i, j:integer;
    abbruch:boolean;
begin
  for i:=low(arr_data) to high(arr_data) do begin
    if arr_data[i].parent_id = 0 then begin
      Tree.Items.AddChildObject(
        nil,
        arr_data[i].description,
        TObject(arr_data[i].id)
      );
    end
    else begin
      Node:=nil;
      abbruch:=false;
      j:=0;
      while (j < Tree.Items.Count) and not abbruch do begin
        if INTEGER(Tree.Items[j].Data) = arr_data[i].parent_id then begin
          abbruch:=true;
          Node:=Tree.Items[j];
        end;
        inc(j);
      end;
      if abbruch then
        Tree.Items.AddChildObject(
          Node,
          arr_data[i].description,
          TObject(arr_data[i].id)
        );
    end;
  end;
end;
MfG
Thorsten
  Mit Zitat antworten Zitat