TcxtreeList控件数据加载

procedure LoadTcxTReeList(Tree: Tcxtreelist; Qeytable: TAdoQuery; bm: string; SName: array of string);

var level, firstlen, k, i: integer;

mynode: array[0..9] of TcxTreeListNode;//存每层节点,最大十层

begin

k := Length(SName);

tree.Clear;

if Qeytable.RecordCount = 0 then Exit;

level := 0;

Qeytable.First;

tree.BeginUpdate;

firstlen := Length(Qeytable[bm]);//第一层编码长度

mynode[level] := tree.TopNode; //取根节点

while not Qeytable.Eof do //遍历数据表,利用编码字段记录排序规律,依次添加树节点

begin

level := (Length(Qeytable[bm]) - firstlen) div 2; //第几层

if (level - 1) >= 0 then

begin

mynode[level - 1].Nodes.InsertObject(0, nil, '', Qeytable[SName[level]]);

mynode[level] := mynode[level - 1].Nodes[0];

end

else

begin

tree.AddChild(nil, '', Qeytable[SName[level]]);

mynode[level] := tree.Items[tree.Count - 1];

end;

Qeytable.Next;

end;

tree.EndUpdate;

end;

txt 文件大小:1.09KB