花了几天时间用ColumnTree控件做了一个增删改查,路程坎坷,但是最终还是实现了,下面对遇到的问题做个总结:

1.隐藏列的问题

   对于需要隐藏的列,可以不用创建,只要数据来源里头有这个列,即可获取这一列的数据,具体操作方法跟显示列的操作是一样的;

2.ColumnTree刷新问题

   通过查看ExtJS2.0.1的的API可以知道,Ext.tree.ColumnTree是继承自Ext.tree.TreePanel类的,继承后,并没有对原来的数据源loader进行任何改变,所以对于数据源,还是用的跟Ext.tree.TreePanel一样的数据源:Ext.tree.TreeLoader,Ext.tree.TreeLoader有一个load方法,API对此是说明如下

loadExt.tree.TreeNode node, Function callback ) : void

Load an Ext.tree.TreeNode from the URL specified in the constructor. This is called automatically when a node is expa...
Load an Ext.tree.TreeNode from the URL specified in the constructor. This is called automatically when a node is expanded, but may be used to reload a node (or append new children if the clearOnLoad option is false.)
Parameters:
  • node : Ext.tree.TreeNode
  • callback : Function
Returns:
  • void

可见,如果需要刷新columntree控件,只需要重新调用该方法即可,另外,方法中的两个参数,API也进行了很好的说明,我在用的过程中,刷新后,是要求显示根节点,代码如下:

Ext.getCmp("columntree控件ID").getLoader().load(Ext.getCmp("columntree控件ID").getRootNode(),function(treeNode){});

3.官方例子中,直接查看columntree的例子,数据是不会显示的,因为示例引用的数据源是.json文件,需要部署才能查看,一般用tomcat就可以了,在eclipse中新建一个web项目,然后将示例引入进去,启动tomcat,查看示例的页面就会有数据显示了;

4.关于样式的问题:样式是可以自己更改的,需要改成什么样式,修改column-tree.css文件即可

5.附上效果图:

 

 

   

posted on 2013-04-04 16:43  第一印象  阅读(2382)  评论(0编辑  收藏  举报