- 浏览: 155103 次
- 性别:
- 来自: 北京
最新评论
-
科小新:
99999999999999999
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒 -
ldl_xz:
http://www.9958.pw/post/css_pos ...
兼容ie6、ie7、ff的css顶端固定位置定位 -
snnosnno:
有浏览器差异吖
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒 -
lian819:
感谢无私分享了, 必须赞一个啊
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒 -
Sweetme:
放进项目就行了,成功了。谢谢哦怒赞
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒
运用了单例模式,使用的话直接让页面文件引用即可。该程序不直接关联任何树的任何事件,可以使用树的checkchange事件对核选的树节点进行进一步操作,譬如修改css样式等;如果通过toggleCheck方法设置结点核选状态将不会进行级联,但会触发树的checkchange事件,压缩包里是一个示例文件
这个函数的作用是根据树节点数组设置树上对应节点的选中状态,如果级联的话肯定是不对的,因为会级联到本不该被选中的子节点
那直接点击子节点,和使用loadCheckedNodes check子节点,效果不同呀,一个会选中父节点,一个不会。 除非loadCheckedNodes传入的是把子节点 和 父节点都传入了。
这个函数的作用是根据树节点数组设置树上对应节点的选中状态,如果级联的话肯定是不对的,因为会级联到本不该被选中的子节点
/** * 给树添加级联选中功能,为树设置属性enableAllCheck则为所有节点添加checkbox; * * 实现方式: * 为TreeNode添加方法:cascadeParent、cascadeChildren; * 修改AsyncTreeNode的loadComplete方法使其加载后自动级联级联子结点(cascadeChildren方法); * 修改TreeEventModel的onCheckboxClick方法是的结点checkbox被点击后级联父节点和子节点; * (注意:之所以不修改TreeNodeUI类是为了使得执行函数为树结点修改选中状态时不进行级联,譬如 * 说为所有树节点加载一个选中状态的数组时我们并不希望级联的情况发生); * 为TreePanel添加属性enableAllCheck, * 为TreePanel添加loadCheckedNodes、checkAllNodes方法 * * 使用方法: * TreePanel * enableAllCheck:Boolean 此配置项为true时所有加载的结点都会渲染chechbox; * loadCheckedNodes(Array nodes):void 根据结点数组/结点id数组选中结点 * checkAllNodes(Bolean checked):void 全选或全不选树中所有节点 * * 1.1改动: * 略微修改匿名函数返回值 * * @author chemzqm@gmail.com * @version 1.1 (2010-4-24) */ Ext.TreeNodeCascade = function(){ function cascadeParent(){ var pn = this.parentNode; if (!pn || !Ext.isBoolean(this.attributes.checked)) return; if (this.attributes.checked) {//级联选中 pn.getUI().toggleCheck(true); } else {//级联未选中 var b = true; Ext.each(pn.childNodes, function(n){ if (n.getUI().isChecked()){ return b = false; } return true; }); if (b) pn.getUI().toggleCheck(false); } pn.cascadeParent(); } function cascadeChildren(){ var ch = this.attributes.checked; if (!Ext.isBoolean(ch)) return; Ext.each(this.childNodes, function(n){ n.getUI().toggleCheck(ch); n.cascadeChildren(); }); } /** * 全选或全不选所有结点,必须所有结点都有checked属性 * @param {Boolean} checked */ function checkAllNodes(checked){ this.root.attributes.checked = checked; this.root.cascadeChildren(); } /** * 根据nodes数组加载选中节点 * @param {Object} nodes node或id数组 */ function loadCheckedNodes(nodes){ this.checkAllNodes(false); Ext.each(nodes, function(n){ if (Ext.isString(n)) { n = this.getNodeById(n); } n.getUI().toggleCheck(true); }, this); } /** * tree的属性enableAllCheck为true时,所有节点默认渲染未选中的checkbox */ Ext.apply(Ext.tree.TreePanel.prototype, { checkAllNodes: checkAllNodes, loadCheckedNodes: loadCheckedNodes, initComponent: Ext.tree.TreePanel.prototype.initComponent.createInterceptor(function(){ if (this.enableAllCheck === true) { var loader = this.loader; loader.baseAttrs = loader.baseAttrs || {}; loader.baseAttrs['checked'] = false; } }) }); /** * 为TreeNode对象添加级联父节点和子节点的方法 */ Ext.apply(Ext.tree.TreeNode.prototype, { cascadeParent: cascadeParent, cascadeChildren: cascadeChildren }); /** * 结点加载后级联子节点 */ Ext.override(Ext.tree.AsyncTreeNode, { loadComplete: Ext.tree.AsyncTreeNode.prototype.loadComplete.createSequence(function(e, node){ this.cascadeChildren(); }) }); /** * Checkbox被点击后级联父节点和子节点 */ Ext.override(Ext.tree.TreeEventModel, { onCheckboxClick: Ext.tree.TreeEventModel.prototype.onCheckboxClick.createSequence(function(e, node){ node.cascadeParent(); node.cascadeChildren(); }) }); }();
- TreeNodeCheck.rar (3 KB)
- 描述: TreeNodeCheck1.0
- 下载次数: 479
评论
4 楼
kangaroo_xin
2010-07-17
chemzqm 写道
kangaroo_xin 写道
发现使用loadCheckedNodes(Array nodes)时,没有相应的级联选择。修改了下。
function loadCheckedNodes(nodes){ this.checkAllNodes(false); Ext.each(nodes, function(n){ if (Ext.isString(n)) { n = this.getNodeById(n); } if(n && n.getUI()) { n.getUI().toggleCheck(true); n.cascadeParent(); n.cascadeChildren(); } }, this); }
这个函数的作用是根据树节点数组设置树上对应节点的选中状态,如果级联的话肯定是不对的,因为会级联到本不该被选中的子节点
那直接点击子节点,和使用loadCheckedNodes check子节点,效果不同呀,一个会选中父节点,一个不会。 除非loadCheckedNodes传入的是把子节点 和 父节点都传入了。
3 楼
zhangdaiping
2010-07-14
我之前写的一个http://zhangdaiping.iteye.com/admin/blogs/608467
2 楼
chemzqm
2010-07-13
kangaroo_xin 写道
发现使用loadCheckedNodes(Array nodes)时,没有相应的级联选择。修改了下。
function loadCheckedNodes(nodes){ this.checkAllNodes(false); Ext.each(nodes, function(n){ if (Ext.isString(n)) { n = this.getNodeById(n); } if(n && n.getUI()) { n.getUI().toggleCheck(true); n.cascadeParent(); n.cascadeChildren(); } }, this); }
这个函数的作用是根据树节点数组设置树上对应节点的选中状态,如果级联的话肯定是不对的,因为会级联到本不该被选中的子节点
1 楼
kangaroo_xin
2010-07-13
发现使用loadCheckedNodes(Array nodes)时,没有相应的级联选择。修改了下。
function loadCheckedNodes(nodes){ this.checkAllNodes(false); Ext.each(nodes, function(n){ if (Ext.isString(n)) { n = this.getNodeById(n); } if(n && n.getUI()) { n.getUI().toggleCheck(true); n.cascadeParent(); n.cascadeChildren(); } }, this); }
发表评论
-
[翻译]Ex4t教程:Ext4起步
2012-02-23 21:58 01.1 浏览器 Ext JS 4 supports a ... -
[Ext入门]如何学习Ext
2010-05-29 19:26 2761国内使用Ext的可谓不少,但是多数也只限与使用其中示例,真能把 ... -
[Ext重写]必填项的label后面加星号
2010-05-20 15:49 3250Ext.form.TextField.override({ ... -
[Ext重写]限制树的深度
2010-05-19 00:51 1926以前做政府项目的时候经常涉及行政区划的树,这个树有的时候要显示 ... -
[Ext源码]Ext的核心方法
2010-05-07 01:17 1601Ext.extend方法: extend : functi ... -
[Ext插件]QM.plugin.MutilTreeFilter:为树添加过滤、展开、收缩功能
2010-05-01 19:48 3653先来看看Ext的官方API的左上角 本插件基于Ext3.0 ... -
[Ext入门]图文详解Ext常见开发工具的安装使用
2010-04-27 21:28 4790俗话说,工欲善其事,必先利其器。缺乏好的工具想要用好Ext这么 ... -
[Ext扩展]动态分页大小、动态grid高度、本地数据分页三合一
2010-04-27 02:53 6379Ext.ux.plugins.PageComboResizer ... -
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒
2010-04-26 22:55 21748为方便大家使用,我把控件所需的js、css、gif文件都提取出 ... -
[Ext扩展]QM.ui.TreeCombo:多功能下拉树列表,内含文档与示例
2010-04-26 20:12 6006有句老话叫不重复造轮 ... -
[Ext扩展]QM.ux.TreeFilter:树节点智能过滤,添加中文模糊匹配功能
2010-04-26 18:24 5854Ext自带一个Ext.tree.TreeFilter类,可以实 ... -
[组件用法]Ext.state.Manager对组件状态进行管理
2010-04-20 01:44 4938Ext.state.Manager存在的意义:简单说就是在客户 ... -
[Ext插件]PinyinFilter:使用拼音首字母对数据进行过滤
2010-04-19 00:37 4010这个插件的目的在于提高用户对于数据的选择效率。经常录入数据的人 ... -
[Ext扩展]根据后台json生成左侧导航菜单,5月9日更新1.1版本
2010-04-16 03:39 5023文章内不再提供示例,需要查看者请从SVN下载,地址: http ... -
[Ext扩展]MenuToolbar:根据json串生成多级菜单
2010-04-14 20:16 3791注意:html文件的Ext库引用请自行解决,效果图: ... -
[Ext扩展]JsonTreeLoader:一次加载所有树节点更新1.1版本
2010-04-14 19:58 4739仿照官网例子:XmlTreeLoader做的,下面有实例 注意 ... -
[组件用法]Ext.History用法要点
2010-04-14 01:11 2608在我的单页面试了下这个类的用法,发现这个类还是比较特殊的。 说 ... -
拒绝iframe嵌套,ajax方式轻松实现单页面
2010-04-13 00:00 6262以前单位做的项目都是上面一排菜单按钮,每点击一次按钮下面工作区 ... -
[Ext源码解读]事件的注册、添加与触发是如何实现的
2010-04-11 01:49 2179Ext提供了一套强大的事件处理机制,每个组件都有许多事件,用户 ... -
为Ext.Msg添加一个ghost提示的方法
2010-04-05 19:43 2087总觉得的老用alert的方式打断用户操作是非常不好的做法,调用 ...
相关推荐
6. **API调用**:`Ext JS`提供了API接口,如`getChecked()`和`setChecked()`,用于获取所有选中的节点或改变特定节点的选中状态。 7. **数据绑定**:复选框树的数据通常来源于后端服务,通过`Store`进行加载和同步...
在ExtJS 4.x框架中,ComboboxTree是一种特殊的组件,它将传统的下拉框与树形结构结合在一起,提供了一种更为灵活的用户输入方式。这种组件在数据选择上非常实用,尤其当数据层级关系复杂时,可以方便地进行多选或...
在这个特定的情况下,我们讨论的是一个定制的下拉树菜单控件——ComboBoxTree,它在ExtJS4中实现了单选和多选功能,并且具备展开选中指定节点的能力。这个控件在实际项目中已经被广泛使用并证明了其稳定性和实用性,...
在Web开发中,Ext JS是一个流行的JavaScript框架,它提供了丰富的UI组件,包括级联下拉框(Combobox)。本篇将深入探讨如何在Ext JS中实现级联下拉框的功能。 首先,我们需要了解Ext JS中的Combobox组件。Combobox...
为了让菜单项之间能够级联,你需要为菜单项添加`click`事件监听器。当用户点击一个菜单项时,这个事件会触发,并且你可以在这个事件处理器中显示相应的子菜单。 4. **显示菜单**: 最后,你需要在适当的位置(例如...
级联选择(Cascading Selection)则是指当用户选中一个节点时,其所有子节点都会自动被选中,反之,如果取消选中父节点,所有子节点也会随之被取消选中。这种功能在组织结构、文件系统或权限管理等场景下非常有用。 ...
"EXT级联选择的树形控件"是一个实现树形结构并支持级联选择的EXT组件。在实际应用中,它可以帮助用户通过树节点的选择来联动控制其他相关选项的状态。这个控件可能包含以下关键特性: 1. **树形结构**:每个节点...
其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树加载器Ext.tree.TreeLoader。下面介绍Extjs 中的 Treepanel 实现菜单级联选中效果。 在 ...
在实际应用中,我们经常需要处理树形结构的复选框,实现级联选择功能,即当父节点被选中时,其所有子节点自动被选中,反之亦然。这篇博客“Ext TreePanelrcheckbox级联选择的实现”就专注于探讨这个主题。 首先,...
在IT领域,级联失效(Cascading Failure)是一种复杂的现象,特别是在网络系统中,如电力网格、互联网或通信网络。当一个组件故障时,它可能导致其他相关组件相继失效,从而引发大规模的系统崩溃。MATLAB作为一种...
在前端开发中,CheckBox Tree(复选框树)是一种常见的组件,用于展示具有层级关系的数据,并支持用户进行多级选择。这个"纯JS+HTML写的checkBox Tree 级联选中"实例,解决了其他示例中可能存在的BUG,提供了一个...
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和Store A.9.3. 动态为ds添加参数baseParams A.10. 有关tree的一些小问题 A.10.1. 如何选中树中的某个节点 A.10.2. 刷新树的所有节点 A.10.3. ...
在ExtJS库中,Tree组件允许我们展示和操作数据以树形结构显示,而级联选择功能则意味着当用户选择一个节点时,它的所有子节点也会被自动选中,反之亦然,如果取消选中父节点,其所有子节点也将被取消选中。...
"级联选中"(Cascading Selection)是指当一个节点被选中或取消选中时,它的所有子节点都会自动地随之被选中或取消选中。这种行为在处理层次结构数据时非常有用,因为它使得用户可以便捷地选择或排除一整组相关的...
ExtJS ComboBox级联是一种在Web应用中常见的交互方式,它允许用户从下拉列表中选择一个值,并且这个选择会影响到另一个ComboBox的选择项,通常用于表示层级关系的数据,比如省份-城市-区县。这种功能在数据筛选、...
让你知道ext表格控件的厉害。 2.1. 功能丰富,无人能出其右 2.2. 让我们搞一个grid出来耍耍吧。 2.3. 上边那个是1.x的,2.0稍微有些不同哦 2.4. 按顺序,咱们先要把常见功能讲到 2.4.1. 自主决定每列的宽度 2.4.2. ...