捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:dbtree (数据库连接treeview函数)
hotswin 33760 2008/4/21 9:45:52
請教一下,我的db有近千筆時
  TreeUtil := TTreeUtils.Create(TreeView1, DM.Conn, 'Dir');
  TreeUtil.FillTree;
執行時,又快速close form 關閉就會在這一行報錯
      nNode := TV.Items.AddChildObject(Node, PNode^.Caption, PNode);
----------

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 ID>0 and ' + FieldPID + ' =' + IntToStr(PN^.Index)+' order by CAPTION';
    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;
caryzheng 21540 2006/2/14 15:28:19
我是新手,学习中,谢谢了
不过当我把这个算法改到和SQL Server2000一起用时,添加节点时树的显示不大正确,不知道是为什么
gdxcj 20335 2005/12/26 10:23:09
在生成树的时候,我能不能只显示江苏大学及其子节点,我觉得能够选择性地进行显示比较好,不知道你能否做到这一点呢?如果我的PID为0的有好多的话,那就可能导致电脑死机,你认为呢?
zlbpolly 13846 2005/4/9 17:13:49
您好!
为什么在一级节点是排序正常,但二级节点排序相反呢?有办法吗?
kingbill 13513 2005/3/25 0:37:07
根据我自己做的,除了用树型科目代码表示外,我还给树型科目规定了类型,有叶子型,就是直接可以添加到树上的,还有子树型,需要通过从数据库中提取一些相关数据,再添加到树上.综合型,就是即有叶子,也有子树的
rsjd 11463 2005/1/8 22:34:17
请教,如果我想区别节点的区别,比如一些节点是可建下一节结点,另一些节点不能再建子结点,怎么处理?
就好比人事系统中的,部门可有子部门,但员工不能再有下一个部门或员工一样?
另外,是不是把它做成一个通过性的组件?就与数据库字段名无关了
xiaoxiao3004 10867 2004/12/23 19:16:30
这正是我找的,谢谢,有机会我也传,等我会了吧,我也要成为高手
tim001 10815 2004/12/22 18:14:27
晚上回家研究!
sfeicyf 10747 2004/12/21 11:21:18
DDD!
shanghl2002 10702 2004/12/20 14:48:37
速度挺快。(第一次可能创建*.LDB慢些)。

关键是定位当前记录:query.GotoBookmark(node.Data);
很快

不错,有点意思
zjf1211 10603 2004/12/17 10:47:16
打开例子时,说找不到dbtree.bpl怎么回事呀?
fanx 10558 2004/12/16 12:52:10
如果建树的时候速度慢可能是TREEVIEW刷新影响的,如果建树时候不要TREEVIEW刷新的话速度就会飞快
zhenshunli 10543 2004/12/15 21:37:38
一般,没有扩展树接点
lyq2276959 10498 2004/12/14 17:58:18
我试过500条记录不用半秒即可建立树了(包括打开数据库的时间),树与数据库的记录是一一对应的,点击树记录即可立即将数据库指针指到相应记录,移动数据库则要通过查找才可选择相应树的节点,增加节点,是立即增加记录的。请各位大侠各抒己见,可有其它速度快的建树方法。(与常用的某个著名的dbtree相比,速度快了10多倍)。
tim001 10476 2004/12/13 17:45:13
学习
vison 10412 2004/12/11 11:58:18
兄弟,我觉得你这种做法可能对一棵小树还以。呵呵!!!!大树我想速度会很慢的。
fanyw 10374 2004/12/10 10:59:43
不错,好东西,谢谢.
marron 10366 2004/12/10 8:36:16
我只是提醒你一下,有本事你也放些好东西上来,不要一张嘴就满口大便,OK?
cnlhj 10365 2004/12/10 8:00:00
山外有山,学无止境啊!
liumazi 10363 2004/12/9 23:31:58
先学做人,再学程序。
第一页 上一页 下一页 最后页 有 27 条纪录 共2页 1 - 20
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号 更新RSS列表