必威体育Betway必威体育官网
当前位置:首页 > IT技术

Delphi 中递归生成TreeView节点的方法

时间:2019-08-10 18:41:04来源:IT技术作者:seo实验室小编阅读:70次「手机版」
 

delphi treeview

数据库中建一张表,包含:NodeName,NodeId,parentId 3个字段,具体什么含义,一看就知了。

过程如下:

procedure TFRM_channel.formtreenode(parentid:string;TreeView1: TTreeView;parentnode:TTreeNode;ADOQuery1:TADOQuery);

var

   i:integer;

   treenode:TTreeNode;

begin

   i:=0;

   ADOQuery1.First;

   while not ADOQuery1.Eof do

begin

if ADOQuery1.fieldByName('ParentId').AsString=parentid then

  begin

treenode:=TreeView1.Items.AddChild(parentnode,ADOQuery1.fieldbyname('NodeName').AsString);

formtreenode(ADOQuery1.fieldbyname('NodeId').AsString ,TreeView1,treenode,ADOQuery1);

  end;

inc(i);

ADOQuery1.First;

ADOQuery1.MoveBy(i);

end;

end;

在调用如下,如在窗体的create事件中:

procedure TFRM_channel.FormCreate(Sender: TObject);

var

TreeNode1:TTreeNode;

i:integer;

nodename:string;

nodeid:string;

parentid:string;

cmdstr:string;

begin

//初始化树形节点

  ADOQuery1.ConnectionString:=mypublic.datastr;

  cmdstr:='select * from ChanTreeNode order by ParentId ,NodeId asc';

  ADOQuery1.Close;

  ADOQuery1.sql.Clear;

  ADOQuery1.SQL.Add(cmdstr);

  ADOQuery1.Open;

  TreeNode1:=nil;

formtreenode('000',TreeView1,TreeNode1,ADOQuery1);

end;

每天早上敲醒自己的不是闹钟,是夢想!

相关阅读

使用Eclipse导出向导生成jar包

使用Eclipse导出向导生成jar包可以用jar命令对java项目(project)进行打包(Java自带的命令行式打包软件jar.exe),也可以使用Eclipse导出

1.数独游戏(生成题目解唯一)

—————————————————————————— 2019年6月15日 mark:给朋友玩了一下,评价是比较简单,难度不大,因为 挖空数量

SSN 生成器 美国地址社保号生成器 V2.24

真实的SSN资料获取器,亲切可用来注册 square刷卡器官方账号,美国POST机,国外网站 Lead,美国虚拟银行等! 从国外某秘密网站VIP区下的

使用Java生成的ZIP压缩包解压时出现不可预料的压缩文

使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案 问题描述: 如下图所示,在解压Java程序生成的ZIP压缩包时出

密码字典生成工具Cupp和Cewl学习笔记

Cupp是一款用Python语言写成的可交互性的字典生成脚本。尤其适合社会工程学,当你收集到目标的具体信息后,你就可以通过这个工具来智

分享到:

栏目导航

推荐阅读

热门阅读