Einzelnen Beitrag anzeigen

Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#1

Listview und seine Child´s

  Alt 14. Dez 2007, 11:28
Hallo liebe DP !

Ich programmiere gerade eine Auktionshaus Software.
Ich verfüge über einen Table (MySql) - Categorien, der do aufgebaut ist:

Code:

cat_id   parent_id  cat_name .........Rest unwichtig
  1          0        Auto & Motorrad         ......
  2          0        Briefmarken & Münzen    ......
.
.
.
  25         2       Briefmarken Deutschland  ......
  26         2       Briefmarken Europa       ......
.
.
.
  30        25       Deutschland bis 1944      ......
usw...
Ich will das ganze jetzt in einer TreeList darstellen.
Die Nodes mit ihren Subnodes.

Aber wie kann ich das coden wenn ich nicht weiss, wie viele Subnodes jede Kategorie hat ?
Im OnClick Ereigniss bekomme ich das hin, weil ich ja abfragen kann welcher Node gerade focusiert ist.
Da mach ich das so:
Delphi-Quellcode:
procedure TForm2.cxTreeList1DblClick(Sender: TObject);
var
i:integer;
  ANode:TcxTreeListNode;

begin
indexnode:= cxTreeList1.FocusedNode;
mySQLQuery1.SQL.Text:='select * from categories where parent_ID = '+QuotedStr(cxTreeList1.Columns[0].Value);
mySQLQuery1.Active:=True;
mySQLQuery1.First;
for i := 0 to mySQLQuery1.RecordCount-1 do
    begin
      ANode := cxTreeList1.AddChild(indexnode);
     ANode.Values[0] := mySQLQuery1.FieldByName('cat_id').AsString;
     ANode.Values[1] := mySQLQuery1.FieldByName('parent_id').AsString;
     ANode.Values[2] := mySQLQuery1.FieldByName('cat_name').AsString;
     ANode.MakeVisible;
     ANode.Focused := True;

    mySQLQuery1.Next;
    end;

end;
jetzt meine Frage , ich will das erstellen der Nodes im Vorfeld machen, nicht erst beim Klicken auf die jeweiligen Nodes.
Ich denke irgendwie im Kreis
Hätte jemand vieleicht Lösungsvorschläge für mich ?

lg
Bundy
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat