引用猛料上的 var curID,nodeTxt:string; level,num:integer; begin //初始化变量 Screen.Cursor:=crHourGlass; //开始使鼠标处于忙的状态 tree.Enabled:=True; //tree????是否是treeview tree.Items.Clear; level:=1 ; num:=1; tree.items.clear; //设置根节点 mynode[level]:=Tree.items.add(Tree.Topitem,cTreeRootTxt);//mynode:array[0..6] of TTreenode;在第一层上设置根节点 mynode[level].ImageIndex:=0; mynode[level].SelectedIndex:=1; //遍历数据表,利用编码字段记录排序规律,依次添加树节点??数据表中的字段有那些??tsglb,tsglbn.... with TreeDb do //treedb:tdbdataset begin try if not Active then open; first; while not Eof do begin curID:=trim(FieldByName('tsglb').AsString); nodeTxt:=curID+'-'+trim(FieldByName('tsglbn').AsString); level:=GetNodeLevel(cTreeCodeFormat,curID); //这里返回代码的层次数 if level>0 then begin //增加下一节点时,用添加子节点的方法可轻松实现节点间的层次关系。 //注意:这里的父节点是用当前节点的上一级节点mynode[level-1] mynode[level]:=Tree.Items.AddChild(Mynode[level-1],NodeTxt); mynode[level].ImageIndex:=2; mynode[level].SelectedIndex:=3; end; next;//下一条记录 end; finally; close; End; mynode[1].expand(False); Screen.Cursor:=crHourGlass; end; end;
var curID,nodeTxt:string;
level,num:integer;
begin
//初始化变量
Screen.Cursor:=crHourGlass; //开始使鼠标处于忙的状态
tree.Enabled:=True; //tree????是否是treeview
tree.Items.Clear;
level:=1 ;
num:=1;
tree.items.clear;
//设置根节点
mynode[level]:=Tree.items.add(Tree.Topitem,cTreeRootTxt);//mynode:array[0..6] of TTreenode;在第一层上设置根节点 mynode[level].ImageIndex:=0;
mynode[level].SelectedIndex:=1;
//遍历数据表,利用编码字段记录排序规律,依次添加树节点??数据表中的字段有那些??tsglb,tsglbn....
with TreeDb do //treedb:tdbdataset
begin
try
if not Active then open;
first;
while not Eof do
begin
curID:=trim(FieldByName('tsglb').AsString);
nodeTxt:=curID+'-'+trim(FieldByName('tsglbn').AsString);
level:=GetNodeLevel(cTreeCodeFormat,curID);
//这里返回代码的层次数
if level>0 then
begin
//增加下一节点时,用添加子节点的方法可轻松实现节点间的层次关系。
//注意:这里的父节点是用当前节点的上一级节点mynode[level-1]
mynode[level]:=Tree.Items.AddChild(Mynode[level-1],NodeTxt);
mynode[level].ImageIndex:=2;
mynode[level].SelectedIndex:=3;
end;
next;//下一条记录
end;
finally;
close;
End;
mynode[1].expand(False);
Screen.Cursor:=crHourGlass;
end;
end;
[email protected]