http://blog.csdn.net/sz_haitao/archive/2009/10/30/4748629.aspx
TreeView的一些问题
treeview本来是表达xml的最佳形式,但是xml有属性和子节点,treeview只有子节点 
一般的做法是把属性也作为子节点挂在节点下,但是感觉就很不好:一个没有子节点而只有属性的节点,它居然也可以展开! virtualTreeView支持节点属性(列),以多列的形式展示,非常好 
但是,它要求所有节点的列都是一样的,值可以不一样,名、数量必须一样,因为它的列是从上到下一统到底的 
而一般,不同的节点,它们的属性(列)名、数量很可能是不一样 这个情况,不知道怎么表现比较好 
——每个节点如果必要,嵌一个2行(列名+列值)x n列的grid? 另外,如果一个节点的信息是个长文本,如何直接在treeview里面显示比较好? 
好像treeview不支持节点的高度可各自动态变化 
——每个节点如果必要,嵌一个memo?virtualTreeView还有2个问题:1、新加的节点,经常出现单击每个node的text部分无响应,需要单击image部分才恢复正常估计是点击位置判断矩形还是添加前的,不知道怎么在添加后刷新一下当前可见的各个节点的位置判断矩形 2、想实现分段加载,不知道怎么实现: 
从文件1里加载根节点的最后20个一级子节点(以及它们的子节点), 
从文件2里加载根节点的最后21-40个一级子节点(以及它们的子节点), 
从文件3里加载根节点的最后41-60个一级子节点(以及它们的子节点), 
... loadfromXXX都是一次性从文件加载,savetoXXX就是一次性写到文件。现在因为树比较大,而其中绝大多数都是历史信息,不会修改的,只是每次添加一些最上面的信息,保存时,没必要把历史节点的信息也一起写一次。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sz_haitao/archive/2009/10/30/4748629.aspxjs里,有jqtreetable可以实现,但是要求没行的高度是一样,而且有一个小bug,顶层节点最后一个节点含有子节点时,收缩后,那个+/-的图标会用错了。

解决方案 »

  1.   

    看来,DEV 的 cxTreeList 比较合适。
      

  2.   

    你的要求太过于复杂,虽然可以用Grid自绘解决,但太复杂了,呵呵
      

  3.   


    jqtreetable就是在表格的指定列摆n个小图标实现树型的如果自己用Grid自绘实现,麻烦的就是连线的生成和点击+/-伸缩子节点的实现
    前者在一个层次记事本实现treeview数据导出为带连线的文本时,做过左右人生的金科玉律
    ├13条
    │├墨菲定律
    │├二八法则
    │├马太效应
    │├手表定理
    │├“不值得”定律
    │├彼得原理
    │├零和游戏
    │├华盛顿合作规律
    │├酒与污水定律
    │├水桶定律
    │├蘑菇管理原理
    │├钱的问题
    │└奥卡姆剃刀定律
    ├其它
    │├破窗理论
    │├帕金森定律
    │├苛希纳定律
    │├250定律
    │├达维多定律
    │└木桶定律
    ├管理之31要素:经典定理汇粹
    │├领导
    ││├一、 素养
    ││├二、统御
    ││├三、沟通
    ││├四、协调
    ││├五、指导
    ││├六、组织
    ││├七、培养
    ││├八、选拔
    ││├九、任用
    ││├十、激励
    ││├十一、调研
    ││├十二、预测
    ││├十三、目标
    ││├十四、计划
    ││├十五、参谋
    ││├十六、决策
    ││└十七、执行
    │├调控
    ││├十八、信息
    ││├十九、监督
    ││├二十、控制
    ││├二十一、法纪
    ││├二十二、改革
    ││├二十三、创新
    ││└二十四、考评
    │└绩效
    │  ├二十五、竞争
    │  ├二十六、营销
    │  ├二十七、广告
    │  ├二十八、公关
    │  ├二十九、谈判
    │  ├三十、交往
    │  └三十一、成果
    ├18条常识
    ├恋爱12条
    │├1.对待大学里的爱情,要客观的看。你们在一起,不一定要有一个目的和目标,未来是未知的。不要嚷着别人什么都对你负责。
    │├2.不要为了摆脱寂寞,轻易在一起,要对别人的真心负责,要让你的爱对得起良心。
    │├3.对待恋人要信任,要不就别把他当恋人。
    │├|4。两个人谈恋爱的经费,最好共同承担,女生不该让男生一个人承担。毕竟他爱你,不是欠你的。这样,就算分开了,也不会因为钱
    ││|的事尴尬。
    │├5.既然是因为爱在一起的,就认真经营这份感情,付出能付出的,结果不重要,善始善终。
    │├6.对于暗恋般的感情,没把握就别去捅破,时间久了,你就看淡了,成长了。
    │├7.你爱的人也是普通人,懂得原谅他们犯的错误,懂得接受他们指出你的缺点和不足。
    │├8.男生不要轻易说出与承诺有关的话,女生不要轻易做需要别人承诺或负责的事。学会在某种程度上,保护好自己。
    │├9.面对别人不素的表白,耐心的倾听,不接受但尽量少的伤害别人。
    │├10.即使爱的火热,也要给自己和对方一个空间,让你们看得清楚,活得自在。
    │├11.对恋人的父母长辈朋友,表现地敬重而虚心。这是一个有素质的人该做的。
    │└12.分了手,就别去打扰彼此的生活。见了面,不要苦大仇深,大方地笑一下也不会死。 
    └人生的十个不要等
      ├一、不要等到想要得到爱时才学会付出 
      ├二、不要等到孤单时才想念起你的朋友 
      ├三、不要等到有了职位时才去努力工作 
      ├四、不要等到失败时才记起他人的忠告 
      ├五、不要等到生病时才意识到生命脆弱 
      ├六、不要等到分离时后悔没有珍惜感情 
      ├七、不要等到有人赞赏你时才相信自己 
      ├八、不要等到别人指出才知道自己错了 
      ├九、不要等到腰缠万贯才准备帮助穷人 
      └十、不要等到临死时才发现要热爱生活 
      

  4.   

    1.连线可以去掉,现在的系统资源管理器都没有这些连线了,因为这些线影响美观。
    2.你可以用多个Grid并排放在一起来弄,不过要注意滚动条的处理
      

  5.   

    左TreeView显示节点,右ValueListEditor显示属性。
      

  6.   


    答:treeview的每个子节点都有Treeview1.Items[某节点索引].Data,它是个无类型的结构指针,你可以将节点的属性定义成一个结构,然后挂到Data上,于是,就解决了Treeview无属性的问题,但要注意退出程序时释放。
      

  7.   


    呵呵,这次讨论的是怎么显示、展现的问题了——不是吧,2个小时内是第n次登录了!?!是csdn的问题,还是我们局域网的问题??!!
      

  8.   

    next grid是免费的,可以以树形方式展示
      

  9.   


    下载到的好像多是dcu,源码可能要收费的
    它的memo里没有看到树形?
      

  10.   

    VirtualStringTree下一个去看看吧
      

  11.   


    哦,单独的demo.exe里没有,附的demo里有。。效果不错
    调整行高后,那些线条处理的不错。就是新加节点后,有些节点的线没有更新