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