如何读取数据库中的内容显示树形结构?(100分)

  • 主题发起人 主题发起人 linger_3
  • 开始时间 开始时间
L

linger_3

Unregistered / Unconfirmed
GUEST, unregistred user!
我想从数据库中读取内容显示成树形结构,数据库内有不同的层次字段,分别对应父类结点
和子类结点。该如何实现呢?
 
用递归方法实现。
 
可以说的详细一点吗?
最好有例子可以参考可以吗?
 
一般是在树显示出来的时候把第一级节点加进树中
然后在Node的Change的时候把相应的记录取出来加到此NODE的下面
因此你要在NODE的DATA属性里保存你的记录ID或其他可唯一标识数据的东东
然后在NODECHANGE的时候根据这个ID找出此NODE下的节点。
实现方法就是这样了,具体代码就只有自己动手了吧!

BTW: 已有很多人提过类似的问题,你可以找找。
 
我已经发邮件了,你在收以下.
注意:
 如果是版本不兼容, 你就自己创建一个新的应用程序,
 把.pas文件用文本编辑器打开,然后拷贝到unit1下(覆盖原来的内容)
 窗口里摆放2个Tadoquery,分别起名query1, query2
然后,放一个Ttreeview,设置name=tree;
query1,query2 的connectionstring属性上有一个按钮,点击之后,选择jet 4.0引擎,
然后进入下一页,选择数据库文件存放的地方, 
选中tree的onexpanding事件,双击,指向原代码里面的事件;
 form 的事件也是一样;
 
有点不好意思啦!
 
你可以看一看 http://www.cx66.com/cxgzs/program/delphi/00257.htm 应该有收获的。
 
我还是不大清楚,该用什么控件和数据库里的表相连接呢?
表里面有两个字段控制目录层次
 
eric.youbin,
你好,我也写了一个,不过我想看看你的,我们交换如何,现在DFW有很多人问这个问题,我们
合伙写一个最好的,叫DB-TREE终结者好不好,
我的QQ:485557
 
我曾经作过一个类似的程序,是在delphi3+sqlserver7下实现的,
具体包括两个要点:
1、假设存在一个已成树形的文本文件,我们怎么把它读到treeview中?
这个可以参考treeview的LoadFromFile或LoadFromStream方法,具体个是很简单,
你可以先建一个treeview然后把它SaveToFile就可以知道格式了。
2、然后我们要想办法生成这个树型文本了。只要在table里面各个记录都有父节点,
并且能够表示出根结点就可以实现。具体存储过程比较长,你可以查一下微软出版
的《sqlserver6.5内部揭密》其中有关于这个过程的详细介绍。
这样就可以实现树型结构,当然我们也可以采用递归的方式,但效率要低得多,主要原因在于
要多次连接数据库,递归本身也比较慢。
 
还有没有人有例子可以看看呢?
 
多人接受答案了。
 
后退
顶部