捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号-1 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:Treeview与数据库的联合使用实例
sutao 4516 2004/4/30 15:59:36
谢谢大家!!特别是KWBIN这位朋友

tim001 4451 2004/4/29 11:08:20
收下先
nidejiang 4207 2004/4/23 21:24:07
sutao
我是DELPHI 爱好者,编程时总会碰到很多问题,很想找位朋友指点,我在QQ中加你了
请不要拒绝我的加入,我的QQ是:178718468
kwbin 4191 2004/4/23 12:50:17
create table (ID integer,PID Integer,Caption string)
ID为节点编号,PID为父节点编号,Caption为标题,你可以适当扩充.

sutao 4182 2004/4/23 9:18:13
kwbin,能把数据结构也列出来吗?
sutao 4156 2004/4/22 17:24:45
若遍历不成问题,那拖动自然容易解决!!!
其实遍历这个有关系的数据库和拖动无非就是个标示各数据层次关系及同盟关系问题和组合到TREEVIEW中的技巧
而大家是否发现WINDOWS的文件层次关系呢????
虽然有个不同就是:存储机制直接和间接(WINDOWS文件路径就是个标识关系,只是存储在地址表中而不是存在库中)
sutao 4154 2004/4/22 17:18:20
谢谢大家能够针对我提出的问题进行认真讨论
我以前有试着实现过
但由于犯了想得过于简单的错误导致做到后面渐渐混乱
而后来公司急着我交单(一个100M左右大的派出所的管理软件。可惜由于企业技术保密问题,否则拿出来让大家共同探讨探讨,指出不足之处。)
由于很忙,我只好停下这个测试,没办法仔细测试,楼上的几位朋友方法符合常规逻辑
但好象有些未考虑周到,若可以的话,多测试!!相信大家以后都会有所用锄。谢谢大家
让我们共同努力。GOLD CAT SOFTWARE QQ 276210156
kwbin 3896 2004/4/12 18:42:53
首先搜索PID为0的节点添加到根节点,然后循环添加子节点,你可以用Delphi跟踪一下运行过程就明白了!
kwbin 3895 2004/4/12 18:40:16
遍历方法也就是unit TreeFillThrd。pas中的递归过程

procedure TTreeFill.Execute;
var
  Node: TTreeNode;
begin
  FreeOnTerminate := True;
  TV.Items.Clear;
  Ptr^.Index := 0;
  Ptr^.Caption := RootText;
  Node := TV.Items.AddObject(nil, RootText, Ptr);
  Node.ImageIndex := 0;
  Node.SelectedIndex := 0;
  AddTree(Node, Ptr);
  TV.FullExpand;
end;
//------------------------------------------------------------------------------
procedure TTreeFill.AddTree(Node: TTreeNode; PN: PNodeData);
var Query: TADOQuery;
  nNode: TTreeNode;
  PNode: PNodeData;
begin
  try
    Query := TADOQuery.Create(nil);
    Query.Connection := Conn;
    Query.SQL.Text := 'Select * from ' + TableName + ' where ' + FieldPID + ' =' + IntToStr(PN^.Index);
    if Query.Active then
      Query.Close;
    Query.Open;
    while Query.Eof = False do
    begin
      New(PNode);
      PNode^.Caption := Query.FieldByName(FieldCaption).AsString;
      PNode^.Index := Query.FieldByName(FieldIndex).AsInteger;
      nNode := TV.Items.AddChildObject(Node, PNode^.Caption, PNode);
      nNode.ImageIndex := 1;
      nNode.SelectedIndex := 2;
      AddTree(nNode, PNode);
      Query.Next;
    end;
  finally
    Query.Free;
  end;
end;

这个递归过程可以处理数据库节点不是按照从上到下的顺序保存的情况!
bnu_dwj 3843 2004/4/11 16:15:59
呵呵,很好,可不可以透漏一下你的遍历方法?
我都打算放弃遍历,用队列做了。
kwbin 3817 2004/4/10 19:31:47
bnu_dwj 所说的方法在我的程序中已经实现!
你可以细细研究一下!
kwbin 3816 2004/4/10 19:18:07
我是江苏大学信息011班的!
这个程序支持拖动!
递归是为了能更好的处理数据节点之间的关系!
我之所以用线程就是为了处理速度延迟问题!
bnu_dwj 3795 2004/4/9 21:38:30
请问作者,如果我想构建数据的树形结构,但是父节点的子节点不是固定不变的,也就是说有可能有的父节点有3个子孩子,而有的有4个或者5个子孩子的,但是现在我想让它们自动在数据库中检索,把所有的结果显示在treeview中,请问有没有什么好的遍历方法?
lovefox 3774 2004/4/9 12:33:09
用递归?速度太慢。简单分类还可以,如果用来显示某个部门的成员的话,数据一多,慢的不行
fx75 3612 2004/3/29 21:13:48
支持拖动吗??
比如说:浪涛软件公司
               -------办公室
                   -----------经理
                   -----------文员
                   -----------秘书
               -------销售部
                   -----------软件
                        -----------销售总管
                        -----------销售员1
                   -----------硬件
                         -----------销售主管
                         -----------销售员2
                         -----------销售员3
把办公室-->经理,拖到销售部-->软件 下???
hotdog911 3606 2004/3/29 18:30:29
请问作者是不是江苏大学工商管理学院信息01级的学生呀?我是江苏大学工商管理学院信息99级的学生,希望有机会大家多联系,我的qq是89339209,口令是校友。
kwbin 3605 2004/3/29 17:48:12
只要你设置好数据节点之间的关系就可以实现!
ID为节点编号;
PID为父节点编号;
Caption为标题;
具体打开数据库就可以看见
sutao 3601 2004/3/29 14:51:47
问一下这个DELPHI例子的作者,这个例子有实现分级别栽入数据库数据吗??
比如说:  浪涛软件公司
               -------办公室
                   -----------经理
                   -----------文员
                   -----------秘书
               -------销售部
                   -----------软件
                        -----------销售总管
                        -----------销售员1
                   -----------硬件
                         -----------销售主管
                         -----------销售员2
                         -----------销售员3
QQ:95494386 GOLD CAT SOFTWARE
dacsd 3587 2004/3/29 8:05:47
初始状态如何设成仅显示根状态,而不是完全展开。
第一页 上一页 下一页 最后页 有 39 条纪录 共2页 21 - 39
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号-1 更新RSS列表