Extjs5 tree扩展----treepanel树组件
来源:互联网 发布:睡不够是什么原因知乎 编辑:程序博客网 时间:2024/05/22 16:48
Ext.define('MyExtend.lib.TreeFilter', {
filterByText: function(text) {
this.filterBy(text, 'text' );
},
/**
* 根据字符串过滤所有的节点,将不符合条件的节点进行隐藏.
* @param 查询字符串.
* @param 要查询的列.
*/
filterBy: function(text, by) {
this.clearFilter();
var view = this .getView(),
me = this,
nodesAndParents = [];
// 找到匹配的节点并展开.
// 添加匹配的节点和他们的父节点到nodesAndParents数组.
this.getRootNode().cascadeBy(function(tree, view) {
var currNode = this;
// alert(currNode.data[by]+' '+by+' '+text);
if (currNode && currNode.data[by] && currNode.data[by].toString().toLowerCase().indexOf(text.toLowerCase()) > -1) {
me.expandPath(currNode.getPath());
while (currNode.parentNode) {
nodesAndParents.push(currNode.id);
currNode = currNode.parentNode;
}
}
}, null, [me, view]);
// 将不在nodesAndParents数组中的节点隐藏
this.getRootNode().cascadeBy(function(tree, view) {
var uiNode = view.getNodeByRecord(this);
if (uiNode && !Ext.Array.contains(nodesAndParents, this .id)) {
Ext.get(uiNode).setDisplayed( 'none');
}
}, null, [me, view]);
},
clearFilter: function() {
var view = this .getView();
this.getRootNode().cascadeBy(function(tree, view) {
var uiNode = view.getNodeByRecord(this);
if (uiNode) {
Ext.get(uiNode).setDisplayed('table-row' );
}
}, null, [this , view]);
}
});
Ext.define('MyTreePanel',{
extend: 'Ext.tree.Panel',
mixins:[ 'MyExtend.lib.TreeFilter']
});
var treePanel = Ext.create( 'MyTreePanel', {
id: 'tree-panel',
title: 'Sample Layouts',
region: 'center',
split: true,
height: 360,
minSize: 150,
rootVisible: false,
autoScroll: true,
store: store
});
阅读全文
0 0
- Extjs5 tree扩展----treepanel树组件
- ExtJS5 Grid组件扩展
- Ext.tree.TreePanel扩展
- Extjs-树 Ext.tree.TreePanel
- Extjs-树 Ext.tree.TreePanel
- EXTJS5的学习记录之TreePanel树的本地加载与异步加载
- Ext.tree.TreePanel
- ExtJs_Ext.tree.TreePanel解释
- Ext.tree.TreePanel
- 27,树TreePanel及菜单Menu组件应用
- 8、树TreePanel及菜单Menu组件应用
- Extjs5.0(8):Panel组件
- Extjs5.1(9):Grid组件
- Ext.tree.TreePanel 属性详解
- Extjs5 日期控件扩展,选择时分秒
- extjs5 tree checkbox 级联勾选解决方案
- Extjs5.0(5):为项目添加左侧导航栏(treepanel)
- Ext.tree.TreePanel树形复选框
- 用Eclipse创建一个android项目
- 拉格朗日乘数法 对y的偏导数的推导 (有点牵强,作为理解吧)
- Springmvc 4.x使用@ResponseBody出现406问题
- 第三方webview-------FHWebView
- 简单实现JPA实体继承映射
- Extjs5 tree扩展----treepanel树组件
- QuickField 4.2
- 使用 Office 365 PowerShell 管理用户帐户和许可证(十)使用 Office 365 PowerShell 创建用户帐户
- linux vmstat
- Jquery mouseover 使用 ---图片放大功能
- php设置session入库
- 深入理解JAVA虚拟机(一)内存区域与内存溢出异常
- webservice入门实例,CXF方式
- activemq应用场景-公司实际运用举例