树形控件比较

原创 2003年07月30日 08:22:00

 

树形控件比较

  也许是受到WINDOWS资源管理界面的影响,树形控件(TTreeView)在软件界面中的使用也越来越广泛,其直观的表现形式、方便的操作方式,确实为界面增色不少(是啊,仿资源管理器界面,看着都亲切).TTreeView在DELPHI、BCB的自带界面控件中,基本上算得上是最复杂的控件之一.虽然它只是BORLAND对WINDOWS标准控件的VCL封装,对于一般的要求,使用起来还算方便.而对于更高一些的要求,就显得不是太方便了,如平滑的背景底图(网络蚂蚁)、自动跟踪的节点CheckBox(金山毒霸中目录、文件选择)和节点RadioButton、节点图标及状态图标控制、多列(TreeList)、与数据库表数据关联、高性能管理海量节点数、导出和打印等等,虽然用TTreeView也都能实现,但代码及控制的复杂性令人生畏,有时甚至超过程序本身完成的业务功能,实在不划算,论坛上关于这些方面问题帖子也是层出不穷.也不知道为什么BORLAND不提供一个更强大、使用更方便的TTreeView ( TTreeViewEx ? ),郁闷ing....

  看来咱只有自力更生......去寻找好用的第三方树形控件了,本人以前曾收集控件无数,试用的树形控件不下十个(太夸张了吧),很多试用过的都不太理想,连名字都不太记得了,有些连安都懒得安,打开源码看看属性事件继承关系代码质量等等就直接delete了,印象中较有特色的有T(xx)DBTree,TCheckTree,T(xx)TreeList等几个,一看名字就知道是
TreeView在某个方面功能的增强版,不提也罢.

  优秀的有TdxTreeList,TdxDBTreeList,TVirtualTree,TElTree等几个,都是从VCL的TCustomContorl继承下来的(与TTreeView封装WINDOWS标准控件不同),前两个(简称dxTrees)是大名鼎鼎的DevExpress QuantumGrid控件包中的,DevExpress公司的控件,只能用两个字形容:牛×,相信用过的人都有同感.TVirtualTree是free控件,绝对专业的"纯VCL"树形控件,功能强大,属性事件丰富,绝对满足你的定制要求,帮助文档(可惜是E文的)和DEMO也很全面,最新版本3.4.9支持DELHPI4567,BCB456,上面列举的种种"高级功能",有了它全都搞定,某些方面比dxTrees更强大(当然也有不如dxTrees的地方).至于TElTree,比起前面几个就差远了,界面上还过得去,最不可容忍的是效率问题,在节点数很多时(如几万,几十万个),删除(包括控件析构时)操作巨慢,不知道现在的最新版本有否改进,我很久以前就"喜新厌旧",不再使用它了.

  总的来讲,TdxTreeList,TdxDBTreeList,TVirtualTree属于同一级别的,各有侧重.

  TVirtualTree相当于TTreeView+TListView+ (TStringGrid 或 TDrawGrid),底图,节点级的Checked,Disabled,Visibled,HotTrack...,节点遍历,保存数据到流,到文件(rtf,html,txt...)
剪贴板支持,ole & vcl拖放支持,打印,排序,单元格编辑,Unicode支持,精细的外观和行为定制,太多太多功能,尤其在效率和图形方面,相当不错(具体可见help或demo).一旦拥有,别无所求! 吐血推荐! 缺点是数据库方面的直接支持和设计时的操作稍差(没有设计时节点编辑器),节点的操作,显示必须在运行时用代码实现,好象不如TdxTrees,但这是它的设计思想所决定的,即把数据和界面显示分离开,这点类似于VC中的TreeView,对于高手来说,也许正是所需要的.结论:★★★★★

  TdxTreeList相当于TTreeView+TListView+TStringGrid.与TVirtualTree相比,在单元格编辑和多层列头及设计时的操作方面很突出.结论:★★★★
  TdxDBTreeList相当于TTreeView+TListView+TDBGrid,在数据库方面更好用,网格编辑,多层列头,自动排序等等功能应有尽有,使用方便,界面豪华.结论:★★★★☆

  说实话,本人对DevExpress系列的控件用得并不是很多,也许对其品价有失公允,从树形单控件的角度综合评价,TVirtualTree确实是我用过的最好的控件之一.
  以上纯属个人意见,仅供参考.

附下载地址:

TVirtualTree:

http://www.delphi-gems.com/VirtualTreeview/VT.php

DevExpress QuantumGrid控件包 :

delphi窑洞,http://www.51delphhi.com

欢迎来信:   gmxyb@netease.com

jquery树形控件Ztree 使用

官网: http://www.ztree.me/v3/main.php 使用 json 数据格式 简单实例:http://tieba.baidu.com/f?kz=1432280689 项目中...
  • zmx729618
  • zmx729618
  • 2016年04月06日 09:58
  • 1554

如何快速进行动态加载树控件

  • 2009年07月23日 13:53
  • 108KB
  • 下载

带有『选择次数排序』和『搜索』功能的树形控件设计与实现

一、思想创意 树形控件是软件操作界面中最常见的一种数据展现控件,如下图所示: 图1   这就是我们常见的树形结构,目前有很多树控件可以供我们选择使用,如zTree、Ext中的树控件,等等。...
  • youyou_yo
  • youyou_yo
  • 2015年09月21日 17:09
  • 2629

一款好用的树形菜单

以前那个帖子地址:http://www.iteye.com/topic/851317     为庆祝QUI框架V2.1.5版本正式发布,这次给大家介绍一款非常好用的树形下拉框组件:QUI树形下拉...
  • YJHAndYW
  • YJHAndYW
  • 2012年11月21日 11:12
  • 3091

IOS开发UI篇--一个可扩展性极强的树形控件

一、简介树形控件在多列列表、多级菜单中使用比较常见,比如:国家-省份-城市 多级选择、学校-专业-班级 多级选择等等。然而IOS自带控件中并不存在树形控件,我们要在IOS开发中使用树形控件,通常需要自...
  • yixiangboy
  • yixiangboy
  • 2015年07月05日 14:07
  • 6676

第三方登录功能的实现

刚开始做的时候感觉高大上 为什么要使用第三方登录:一般稍微作为一个大点的项目,为了提高用户的群体都会做第三方登录(如:QQ,微信,新浪等) 在往下看之前先注册第三方网站的开发者账号,创建应用完成审核...
  • CSDN3436
  • CSDN3436
  • 2017年03月28日 17:13
  • 6108

jOrgChart树形图插件

项目要做组织架构图,要把它做成自上而下的树形结构。 一、说明(1)通过后台查询数据库,生成树形数组结构,返回到前台。(2)需要引入的js插件和css文件:  ①jquery.jOrgChart.cs...
  • XTQueen_up
  • XTQueen_up
  • 2017年07月26日 14:06
  • 1034

一个Treeview的应用实例

  • 2011年09月30日 22:27
  • 7.34MB
  • 下载

java常用第三方软件包

网上收集的一些常用Java开发的第三方软件包,供大家参考  1.Apache POI  处理office文档用到的2. IText    PDF操作类库  3.Java Base64   Base...
  • mym43210
  • mym43210
  • 2016年06月22日 09:36
  • 848

什么是第三方登录,第三方登录如何选择

第三方登录不得不说的一个优势:那就是本地注册和第三方注册的选择。虽然这是一个不能称之为问题的问题,其中的心理学不得不说:做为一个app的新用户,你有两个选择:1.做一个很受欢迎的用户,注册帐号,完善信...
  • c1782746138
  • c1782746138
  • 2015年01月21日 15:57
  • 1333
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:树形控件比较
举报原因:
原因补充:

(最多只允许输入30个字)