谢谢
解决方案 »
- 关于用TDBImage显示图片的问题?
- 如何旋转CHART
- 用spcomm做猫拨号的自动应答。代码出错。请各位近来看看???
- TdxBarManager子窗体菜单的小问题
- Frame的问题?如何在一个窗体中用代码动态添加和卸载一个Frame?
- 想到北京找份工作,大家给介绍几个需要Delphi程序员的公司
- 操作ini文件的问题。为何不能读pchar
- 怎样实现asp和activeForm之间的参数传递!!!
- 问问大虾们:在那才能申请到免费的个人主页空间呢!一定给分的!
- 怎样用ClientSocket,ServerSocket连接多个用户,并通过服务器端控制?
- 请问EasyTable的Filter不支持字段中文名称吗?
- 各位,今天的芹菜多少钱一斤?
PNodeInfo=^TNodeInfo; //指针类型,存储对应节点信息
TNodeInfo=Packed Record
NodeId:String; //节点
NodeName:string; //节点名称
ParentId:string; //父节点
end;procedure TForm1.CreateTree(Id: integer; ParentNode: TTreeNode ;DTree:TTreeView);
var
QryTmp:TadoQuery;
MyNode:TTreeNode;
TmpNodeInfo:PNodeInfo;
begin
QryTmp:=TadoQuery.Create(self);
QryTmp.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=VOD.MDB;Persist Security Info=False';
QryTmp.SQL.Add('Select id,code,name From directory');
qrytmp.sql.add(' where code='+IntToStr(Id)+' Order by Id');
QryTmp.Open;
MyNode:=nil;
while not QryTmp.Eof do
begin
New(TmpNodeInfo);
TmpNodeInfo.Nodeid:=Trim(QryTmp.Fields[0].AsString);
TmpNodeInfo.Parentid:=Trim(QryTmp.Fields[1].AsString);
TmpNodeInfo.Nodename:=Trim(QryTmp.Fields[2].AsString);
MyNode:=DTree.Items.AddChildObject(ParentNode,QryTmp.Fields[2].AsString,TmpNodeInfo); //把所有节点当作子节点遍历
CreateTree(QryTmp.Fields[0].AsInteger,MyNode,dtree); //递归调用
QryTmp.Next;
end;
QryTmp.Free;
end;