Extjs tree的相关方法及配置项

Ext.tree.TreePanel

主要配置项:

root:树的根节点。

rootVisible:是否显示根节点,默认为true。

useArrows:是否在树中使用Vista样式箭头,默认为false。

lines:是否显示树线,默认为true。

loader:树节点的加载器,默认为Ext.tree.TreeLoader。

selModel:树的选择模式,默认为Ext.tree.DefaultSelectionModel。

pathSeparator:树节点路径的分隔符,默认为“/”。

singleExpand:是否一次只展开树中的一个节点,默认为true。

requestMethod:请求方法,可选值有POST、GET。

containerScroll:是否将树形面板注册到滚动管理器ScrollManager中。

主要方法:

      collapseAll():收缩所有树节点

       expandAll():展开所有树节点

       getRootNode():获取根节点

        getNodeById(String id):获取指定id的节点

        expand( [Boolean deep], [Boolean anim], [Function callback], [Object scope] )展开panel的body以便让其变得可见

expandPath( String path, [String attr], [Function callback] )展开当前TreePanel中的指定路

getChecked( [String attribute], [TreeNode startNode] )获得选中的节点列表,或者被选中节点的某个指定的属性数组

selectPath( String path, [String attr], [Function callback] ) 从树中选中所给路径的节点

getSelectionModel():返回此TreePanel使用的选择模型

Ext.data.Node

主要配置项:

id:节点id

leaf:当前节点是否为叶子节点

主要属性:

id:节点id

attributes:节点属性的集合

parentNode:当前节点的父节点

childNodes:当前节点所有子节点组成的数组

firstChild:当前节点的第一个直接子节点,如果没有则为null值

lastChild:当前节点的最后一个直接子节点,如果没有则为null值

nextSibling:当前节点的下一个兄弟节点,如果没有则为null值

previousSibling:当前节点的前一个兄弟节点,如果没有则为null值

主要方法:

a( Node/Array node ):追加新的子节点

bubble( Function fn, [Object scope], [Array args] ):从当前节点开始向上迭代调用指定函数,如果指定函数返回false则将终止迭代。

args:传入函数中的参数,默认为当前节点

cascade( Function fn, [Object scope], [Array args] ):从当前节点开始向下迭代调用指定函数,如果指定函数返回false则将终止迭代。

contains( Node node ):当前节点是否包含指定子节点。

eachChild( Function fn, [Object scope], [Array args] ):迭代当前节点的所有子节点调用指定函数,如果指定函数返回false则将终止迭代。

findChild( String attribute, Mixed value ):查找具有指定属性的第一个子节点。

findChildBy( Function fn, [Object scope] ):根据自定义函数查找第一个符合要求的子节点,如果自定义函数返回true则说明匹配成功。

getDepth():取得当前节点的深度,根节点的深度为0

getOwnerTree():取得当前节点所在树。

getPath( [String attr] ):取得当前节点对应的路径,这个路径在程序中可用于展开或者选择节点。

attr:用于查找路径的属性,默认为节点id

hasChildNodes():是否有子节点

indexOf( Node node ):取得指定子节点的索引值,未找到返回-1。

insertBefore( Node node, Node refNode ):在当前节点的指定子节点之前插入一个新的子节点。

node:要插入的新节点

isAncestor( Node node ):判断指定节点是否为当前节点的父节点(可以是任何一级中的父节点)。

     isFirst():是否为父节点的第一个子节点。

   isLast():是否为父节点的最后一个子节点。

isLeaf():是否为叶子节点。

item( Number index ):取得指定索引的子节点。

remove():从父节点中删除当前节点。

removeChild( Node node ):删除当前节点的指定子节点。

replaceChild( Node newChild, Node oldChild ):用新的子节点替换当前节点的指定子节点。

sort( Function fn, [Object scope] ):用指定的排序函数为当前节点的子节点进行排序。

Ext.tree.TreeNode

主要配置项:

text:节点上的文本信息

qtip:节点上的提示信息

icon:节点图标对应的路径

iconCls:应用到节点图标上的样式

checked:当前节点的选择状态

true:在节点前显示一个选中状态的复选框

false:在节点前显示一个未选中状态的复选框

不指定该值:不显示任何复选框

href:节点的连接属性,默认为#

hrefTarget:显示节点连接的目标框架

editable:是否允许编辑,默认为true

expanded:是否展开节点,默认为false

disabled:是否禁用节点,默认为false

singleClickExpand:是否通过单击方式展开节点

allowChildren:是否允许当前节点具有子节点,默认为true

expandable:当不含子节点时,是否总显示一个加减图标,默认为false

uiProvider:节点的UI类,默认为Ext.tree.TreeNodeUI

主要属性:

text:节点上的文本信息

disabled:当前节点是否被禁用

主要方法:

collapse( [Boolean deep], [Boolean anim], [Function callback], [Object scope] ):收缩当前节点

deep:是否级联收缩全部子节点

collapseChildNodes( [Boolean deep] ):收缩所有子节点

disable():禁用当前节点

enable():启用当前节点

ensureVisible( [Function callback], [Object scope] ):确保所有父节点都是展开的

expand( [Boolean deep], [Boolean anim], [Function callback], [Object scope] ):展开当前节点

expandChildNodes( [Boolean deep] ):展开所有子节点

isExpanded():当前节点是否展开

isSelected():当前节点是否被选中

select():选择当前节点

setText( String text ):设置当前的文本

toggle():切换当前节点的展开和收缩状态

unselect():取消对当前节点的选择

getUI():取得节点的UI对象

Ext.tree.AsyncTreeNode

主要配置项:

loader:当前节点的树加载器,默认使用树中配置的树加载器

主要方法:

isLoaded():当前节点是否已经加载数据

reload( Function callback, [Object scope] ):重新加载节点数据,并调用回调函数

Ext.tree.TreeNodeUI

主要方法:

getAnchor():从节点的UI中获取焦点的元素

getIconEl():获取图标的元素

getTextEl():获取文本节点

addClass( String/Array className ):

removeClass( String/Array className ):

hide():

show():

isChecked():取得节点的选择状态,如果当前节点没有复选框则函数返回false

toggleCheck( Boolean (optional) ):设置节点复选框的选择状态

Ext.tree.DefaultSelectionModel

是TreePanel的默认选择模式,该模式一次只能选择树中的一个节点。

主要方法:

clearSelections():清除对树中所有节点的选择

getSelectedNode():取得当前被选中的节点

isSelected( TreeNode node ):节点是否被选中

select( TreeNode node ):选中指定节点

unselect( TreeNode node ):取消指定节点的选中状态

selectNext():选择当前被选节点的下一个节点

selectPrevious():选择当前被选节点的上一个节点

Ext.tree.MultiSelectionModel

是TreePanel的多选择模式,该模式一次可以选择树中的多个节点。

主要方法:

clearSelections():清除所有节点的选中状态

getSelectedNodes():取得被选节点组成的数组

isSelected( TreeNode node ):节点是否被选中

select( TreeNode node, [EventObject e], Boolean keepExisting ):选中指定节点

unselect( TreeNode node ):取消指定节点的选中状态

Ext.tree.TreeLoader

提供了对子节点的延时加载功能,请求指定的URL地址,返回子节点数据,返回的数据格式如下:

[{id: 1,  text: "node1",  leaf: true, check: false      },

{ id: 2, text: "node2",children: [{ id: 3,  text: "node3",  leaf: true}] } ]

[ { id: 1, text: "node1", leaf: true, check: false }, { id: 2, text: "node2", children: [ { id: 3, text: "node3", leaf: true } ] }]

树节点展开时,当前节点的id会作为请求参数被发送到服务器,在服务器可以通过node参数名进行获取。

主要配置项:

dataUrl:获取子节点的URL地址。

baseAttrs:子节点的基本属性对象,该对象中的属性将被添加到树加载器创建的所有子节点上。优先服务器返回的同

名属性值。

baseParams:基本的请求参数,这些参数会被附加到每一个节点的请求中。

clearOnLoad:在加载前是否移除已存在的子节点,默认为true。

preloadChildren:在第一次加载子节点后是否递归加载所有子节点。

requestMethod:请求方法,可选值有POST、GET。

uiProviders:加载器创建子节点的UI实现类。

url:与dataUrl作用相同。

主要方法:

load( Ext.tree.TreeNode node, Function callback, (Object) scope ):从指定的URL加载树节点。

node:需要加载子节点的树节点。

Ext.tree.TreeEditor

主要配置项:

alignment:对齐方式。

editDelay:两次点击节点触发编辑操作的延时时间,默认为350毫秒。

hideEl:在显示编辑器组件时是否隐藏绑定元素。

maxWidth:编辑器的最大宽度,默认为250。

Ext.tree.TreeSorter

主要配置项:

property:用于排序的节点属性名,默认为text。

dir:排序方向,可选值有asc、desc,默认为asc。

caseSensitive:是否区分大小写,默认为false。

folderSort:叶节点是否排在非叶节点之下,默认为false。

leafAttr:叶子节点在folder排序时的值,默认为leaf。

sortType:一个自定义函数用于在排序前转换节点值。

时间: 2024-10-29 15:27:21

Extjs tree的相关方法及配置项的相关文章

extjs tree check 级联选择

extjs4 tree check 级联选择 实现效果: 关键代码: function changeAllNode(node, isCheck) { allChild(node, isCheck); allParent(node, isCheck); function allChild(nodec, isCheckc) { var chileNodes = nodec.childNodes; Ext.Array.each(chileNodes, function (nd) { if (nd.ha

net extjs tree异步加载数据

小弟最近刚学习extjs,总结一下使用extjs 进行treepanel加载的经验 extjs版本4.0.7,后台是使用net 的mvc框架进行数据传递 首先显示一下效果以及后台数据截图       //我们提供动态数据   //这是数据源请求的数据来源(后台自定义JsonTree类提供的主要字段 ID Text FatherID) extjs代码 <script type="text/javascript"> Ext.onReady(function () {//以下的脚

Extjs Tree增加搜索功能

// 1.第一步:增加一个搜索框到TreePanel tbar  tbar:[' ',           new Ext.form.TextField({                 width:350,                 emptyText:'请输入关键字检索',                 enableKeyEvents: true,                 listeners:{                     keyup:function(node

extjs Tree中避免连续单击会连续请求服务器

应用场景:在项目中我要做一个左边是tree,右边是panel的界面.当我单击tree中的一条记录时,发送请求,并将结果显示在右边的panel中.做完之后发现,如果连续单击就会连续请求两次服务器,毕竟用户不知道是应该单击tree中的记录还是双击. 解决思路:利用一个boolean类型的flag来判断,并使用了 Ext.util.DelayedTask延时的技术.我先将flag设为true,点击一次之后马上设置为false,并在一秒延迟后将其重新设置为true.并且只有当flag为true时,单击才

Extjs tree 更改图标

去掉 树的叶子图标 .x-tree-node-icon { display: none; //不显示图标 } 更改图标  在后台返回的json中 有  添加  iconCls 属性 如    iconCls:'mask' .mask { background-image: url(img/icon/add.gif) !important; } example 下   treegrid 例子中

关于textjs的tree带复选框的树

通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到.话不多说,先看一下效果图: 我写的这人员选择的树,主要是改写了TreePanel,如下代码: ExtendTreePanel.js (该文件中可以写一些触发事件) Ext.namespace('Ext.ysq');//Ext.namespace方法定义一个管理类的包,类似Java中定义的包名,目的是建立自己的一个对象名,方便管理,防止重复 Ext.ysq.ExtendTreePanel = Ext.extend(Ext.tree

ExtJS 4.2 业务开发(一)主页搭建

本篇开始搭建一个ExtJS 4.2单页面应用, 这里先介绍主页的搭建,内容包括:主页结构说明.扩展功能等方面. 目录 1. 主页结构说明 2. 扩展功能 3. 在线演示地址 1. 主页结构说明 1.1 主页布局 传统的ExtJS 4.2应用,基本布局如下: 1.2 主页布局分析 根据上面的主页布局图,可转换具体试图结构: header:存放系统的名称.logo.用户信息等内容. menu:菜单区域,以Tree形态展现业务入口. tab:业务区域,具体的业务都以tab页的形式嵌入到此区域. 1.3

ExtJS笔记 Tree

The Tree Panel Component is one of the most versatile Components in Ext JS and is an excellent tool for displaying heirarchical data in an application. Tree Panel extends from the same class as Grid Panel, so all of the benefits of Grid Panels - feat

Extjs 4.2使用心得 --- tree和grid

把前段时间做的东西整理一下.主要是树形菜单和grid面板的结合.选中左边机构菜单的节点,右边grid面板显示该节点下的信息. 首先是建立treestore Ext.create('Ext.data.TreeStore', { autoDestroy: true, proxy: { type: 'ajax', url: '/admin/organizations/get_tree_node/', // noCache: false, //设置为false 则不会向后台传参 _dc reader: