以下是实现代码:
var matched = [];
var treeFilter = new Ext.tree.TreeFilter(this.agencyTree, {
clearBlank : true,
autoClear : true
});
function search() {
var text = seachField.getValue();//seachField为TextField输入框对象
treeFilter.clear();//treeFilter过滤条件
matched = [];//匹配的节点
// 如果输入的数据不存在,就执行clear()
if (!text) {
return;
}
tree.expandAll();
// 根据输入制作一个正则表达式,'i'代表不区分大小写
var re = new RegExp(Ext.escapeRe(text), 'i');
// 找出所有匹配的结点
tree.root.cascade(function(n) {
if (re.test(n.attributes['text'])) {
matched.push(n);
}
}, this);
// 从每个叶子结点向根方向处理,处理所有结点的枝叶,
// 如果该枝叶包含匹配的结点,则保留,否则裁剪掉(隐藏)
tree.root.cascade(function(n) {
if (n.isLeaf()) {
// 处理每一条子结点路径
n.bubble(function(nbb) {
// 从叶子到根,逐个剪掉
var contain = false;
for (var mted = 0; mted < matched.length; mted++) {
if (nbb.contains(matched[mted]) || nbb == matched[mted]) {
// 包含匹配的结点
contain = true;
break;
}
}
// 把不包含匹配结点的结点隐藏
if (!contain) {
nbb.ui.hide();
treeFilter.filtered[nbb.id] = nbb;
}
}, this);
}
}, this);
};
分享到:
相关推荐
TreeNode ,左侧面板显示三级目录, int sublen = taskht.Keys.Count;//三级目录长度 int len = webht.Keys.Count; //二级目录长度 System.Windows.Forms.TreeNode treeRootNode = new System.Windows.Forms....
HashMap中红黑树TreeNode的split方法源码解读,对split方法源码的上下文/变量定义,及所调用的关键方法都给出了详细解释说明,欢迎指正
TreeView Treenode 操作实例,从数据库中读出类别信息,把类别树写入数据库,节点更名排除重复等,包内附有建立数据表的脚本.
For educational purpose.Graphic TreeNode:Operations:-MakeTree-DeleteTree-InsertNode-DeleteNode-SearchNode
Using treenodes with and without images in a TreeView
[removed] 2,应用到Ext中的树控件事件处理 tree_03.js 代码如下:Ext.onReady(function(){ var root = new Ext.tree.TreeNode({ //tree,这里没有function,使用json格式 id:1, text:”linjq” }); var c1 = new Ext....
C#.NetTreeNode控件的使用详解,在开发应用程序时需要用到,很有用的。
可实现选中父节点,自动选中子节点,选中子节点,自动遍历选中父节点
JAVA 拥有层级的List数据转换树形层级结构实体,内含转换方法
VB VSFLEXGRID的TreeNode效果
EXTjs2 的treeNode 带有checkbox,可是API中,关于checkbox的事件就只有一个checkchange事件,所以写个方法传上来。
基于网络上的源码,根据自己逻辑加以修改完善,支持获取子节点,获取含有最多子节点的节点下的子节点
HashMap$TreeNode确保根节点为头节点的moveRootToFront方法源码解读,分析其各个步骤,并配有示意图
treenode orientations
HashMap8内部类TreeNode源码!
treenode.rar
HashMap之往红黑树添加元素-putTreeVal方法源码解读:当要put的元素所在数组索引位置已存在元素,且是红黑树类型时,就会调用putTreeVal方法添加元素到红黑树上,具体操作步骤如下: 1. 从根节点开始,到左右子树,...
JTree上的每一个节点就代表一个TreeNode对象,TreeNode本身是一个Interface,里面定义了7个有关节点的方法,例如判断是否 为树叶节点、有几个子节点(getChildCount())、父节点为何(getparent())等等、这些方法的定义...