procedure TFormPsn.ToolButton1Click(Sender: TObject);
var
SitNod:Integer;
ParInt:Integer; //父节点编号
CurMjs:String; //子节点显示文本
PreMjs:String; //父节点显示文本
CkNode:TTreeNode;//节点位
begin
if not FormPubl.DatabaseK4HRMS.Connected then
begin
FormPubl.DatabaseK4HRMS.Connected:=True;
QueryOrg.Active:=True;//Query Active
end
else
begin
QueryOrg.Active:=True;//Query Active
end;
TreeViewOrg.Items.Clear;
if QueryOrg.Active then
begin//开始
SitNod:=0;
ParInt:=0;//初始化变量
CkNode:=nil;
PreMjs:='';
CurMjs:='';
QueryOrg.First;
while not QueryOrg.Eof do
begin
PreMjs:=QueryOrg.fieldbyName('parcode').AsString
+'---' //父节点显示文本(两字串相加)
+QueryOrg.fieldbyName('parname').AsString;
CurMjs:=QueryOrg.fieldbyName('orgcode').AsString
+'---' //子节点显示文本(两字串相加)
+QueryOrg.fieldbyName('orgshortname').AsString;
if ParInt=0 then //Root Node
begin //第一次处理root node
CkNode:=nil; // farther node
CkNode:=TreeViewOrg.items.Add(CkNode,PreMjs);//Root Node
end
else
begin//子节点处理
for SitNod:=0 to TreeViewOrg.Items.Count-1 do
begin
if TreeViewOrg.Items[SitNod].Text=PreMjs then
CkNode:=TreeViewOrg.Items[SitNod]
end;
end;
CkNode:=TreeViewOrg.items.addchild(CkNode,CurMjs);//取父节点值
Inc(ParInt);
QueryOrg.Next;
end; //Eof
end;//end 完成
end;