二千多条想装入TREEVIEW
不管怎么写都慢
TREEVIEW速度较快时最多300条左右
再多生成时较慢建议不要三层一起装入
先装第一层,当展开时再装二层...

解决方案 »

  1.   

    TreeView.Items.BeginUpdate;...
    //你的装入过程
    TreeView.Items.EndUpdate
    或者,你可以去找第三方的TreeView控件,要比标准控件速度快多了。
      

  2.   

    估计是你编写的程序没有优化好!!!TreeView在默认情况下,没装入一条内容就要重画一次,重画一次的时间消耗是非常大的,一般是装入数据的100倍左右!所以在装入数据的时候一定要使用TreeView1.Items.BeginUpdate方法禁止TreeView的重画,在操作完成后再调用TreeView1.Items.EndUpdate启动重画功能!!!这样2000条记录应该在10秒左右就可以处理完了(P166上测试的!!嘻嘻 :>),比较的第三方控件可以使用DevExpress DBTree,可以到www.51Delphi.Com去下载!!!
      

  3.   

    Treeview1.items.BeginUpdate;
    ...
    Treeview1.items.EndUpdate;
      

  4.   

    我加了BEGINUPDATE和ENDUPDATE,还是很慢,因为我每次都要定位,查找父节点的位置,在DATA属性中增加信息会不变慢,直接用DBTREE打开能不能在DATA中加入信息?
      

  5.   

    Treeview1.items.BeginUpdate;
    ....
    Treeview1.items.EndUpdate;
      

  6.   

    我又试了一遍,每次记录父节点的INDEX号,不查找了,但一样很慢。我用同样的方法将数据装入1ST和DEVEXPRESS的控件中,速度也差不多,并没快多少,还有没其它办法啊??
      

  7.   

    直接加到控件,每加一个结点,都得刷新一次,速度太慢,可先写到一文本文件中 然后用loadfromfile一次调入delphi_li所说的禁止TreeView的重画也是一个好方法用一文本文件速度要快得多
      

  8.   

    用loadfromfile好象不能往DATA属性中写信息吧?