Delphi动态创建树

2016-02-19 13:20 89 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Delphi动态创建树,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

数据结构如下:
   CREATE TABLE [tbTree] (
   [ID] [varchar] (4) COLLATE  NOT NULL ,
   [Context] [nvarchar] (50)  NULL ,
   [ParentID] [varchar] (4)  NULL ,
   CONSTRAINT [PK_tbTree] PRIMARY KEY  CLUSTERED
   (
    [ID]
   )  ON [PRIMARY]
  ) ON [PRIMARY]
  代码如下:
  lprocedure TForm1.ReadTree(tnode:TTreeNode;Fvalue: String); lVar l  i: integer; l  Flist:TStringList; l  Flist1:TStringList; l  str:string; lbegin l  qryTree.close; l  qryTree.sql.clear; l  qryTree.sql.add('select Parentid,id,context from tbtree'); l  qryTree.sql.add('where isnull(Parentid,'''')='); l  qryTree.sql.add(''''+Fvalue+''''); l  qryTree.Open; l  qryTree.First; l  Flist:=TStringList.Create; l  Flist1:=TStringList.Create; l  while not qryTree.eof do l    begin l      Flist.Add(trim(qryTree.fieldbyname('context').asstring)); l      Flist1.Add(qryTree.fieldbyname('id').asstring); l      qryTree.next; l    end; l    for i:= 0 to flist.Count-1 do l    begin l      s:=flist1.Strings[i]; l      str:=flist.Strings[i]; l      snode:=Treeview1.items.addchild(tnode,str); l      ReadTree(snode,s); l    end; l  flist.free; l  flist1.free; lend;

来源:http://www.tulaoshi.com/n/20160219/1603871.html

延伸阅读
标签: Delphi
  所谓动态选单是指选单项随着程序的操作变化而变化。现在,我们用Delphi来实现这一功能,具体步骤如下: 1.首先,确定动态选单的数据来源,即要确定动态选单标题是来自Windows的系统注册表,还是来自一个数据库,或者是来自一个子目录,主要由程序的功能而定。这里假设主窗口名为MainForm,上面已有主选单,其动态选单...
CAD教程之动态块创建   很多人都知道,CAD2012中新增了动态块功能,通过此功能,用户在操作时可以轻松地更改图形中的动态块参照,还可以通过自定义夹点或自定义特性来操作动态块参照中的几何图形。那么,动态块是如何创建的呢?下面请看我们的CAD教程。 图1 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块...
标签: Web开发
1.创建链接 script language="javascript" var o = document.body; //创建链接 function createA(url,text) {     var a = document.createElement("a");     a.href = url;     a.innerHTML = text;     a.style.color = "red...
按照类型名称动态创建对象 作者:死猫 提交者:eastvc 发布日期:2003-9-20 10:22:27 原文出处:http://www.cpphelp.net/issue/classbyname.html 1 引言 我的一个实际项目中,由于希望通过一致的接口控制各种型号的设备,并且可以方便的随时扩充,以便将来支持更多的型号。因此,必须在运行时指定设备的型号。 为了使应用程序可以透明的...
BCB中提供了大量的VCL组件,有时难免要在程序中动态创建组件,VCL是用Object Pascal写的,她与C++语言还是存在着一些不同点的,要掌握正确的方法,不防我们先来看一下栈(stack)与堆(heap)的关系。 栈(stack)是存放函数的所有动态局部变量及函数调用和返回的有关信息的一块内存。栈的内存管理严格遵循先进后出的顺序,这一点正是实现函...

经验教程

560

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部