- 浏览: 152737 次
- 性别:
- 来自: 北京
最新评论
-
科小新:
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 2710国内使用Ext的可谓不少,但是多数也只限与使用其中示例,真能把 ... -
[Ext重写]必填项的label后面加星号
2010-05-20 15:49 3200Ext.form.TextField.override({ ... -
[Ext重写]限制树的深度
2010-05-19 00:51 1879以前做政府项目的时候经常涉及行政区划的树,这个树有的时候要显示 ... -
[Ext源码]Ext的核心方法
2010-05-07 01:17 1539Ext.extend方法: extend : functi ... -
[Ext插件]QM.plugin.MutilTreeFilter:为树添加过滤、展开、收缩功能
2010-05-01 19:48 3576先来看看Ext的官方API的左上角 本插件基于Ext3.0 ... -
[Ext入门]图文详解Ext常见开发工具的安装使用
2010-04-27 21:28 4715俗话说,工欲善其事,必先利其器。缺乏好的工具想要用好Ext这么 ... -
[Ext扩展]动态分页大小、动态grid高度、本地数据分页三合一
2010-04-27 02:53 6330Ext.ux.plugins.PageComboResizer ... -
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒
2010-04-26 22:55 21701为方便大家使用,我把控件所需的js、css、gif文件都提取出 ... -
[Ext扩展]QM.ui.TreeCombo:多功能下拉树列表,内含文档与示例
2010-04-26 20:12 5944有句老话叫不重复造轮 ... -
[Ext扩展]QM.ux.TreeFilter:树节点智能过滤,添加中文模糊匹配功能
2010-04-26 18:24 5719Ext自带一个Ext.tree.TreeFilter类,可以实 ... -
[组件用法]Ext.state.Manager对组件状态进行管理
2010-04-20 01:44 4884Ext.state.Manager存在的意义:简单说就是在客户 ... -
[Ext插件]PinyinFilter:使用拼音首字母对数据进行过滤
2010-04-19 00:37 3952这个插件的目的在于提高用户对于数据的选择效率。经常录入数据的人 ... -
[Ext扩展]根据后台json生成左侧导航菜单,5月9日更新1.1版本
2010-04-16 03:39 4917文章内不再提供示例,需要查看者请从SVN下载,地址: http ... -
[Ext扩展]MenuToolbar:根据json串生成多级菜单
2010-04-14 20:16 3736注意:html文件的Ext库引用请自行解决,效果图: ... -
[Ext扩展]JsonTreeLoader:一次加载所有树节点更新1.1版本
2010-04-14 19:58 4688仿照官网例子:XmlTreeLoader做的,下面有实例 注意 ... -
[组件用法]Ext.History用法要点
2010-04-14 01:11 2556在我的单页面试了下这个类的用法,发现这个类还是比较特殊的。 说 ... -
拒绝iframe嵌套,ajax方式轻松实现单页面
2010-04-13 00:00 6207以前单位做的项目都是上面一排菜单按钮,每点击一次按钮下面工作区 ... -
[Ext源码解读]事件的注册、添加与触发是如何实现的
2010-04-11 01:49 2141Ext提供了一套强大的事件处理机制,每个组件都有许多事件,用户 ... -
为Ext.Msg添加一个ghost提示的方法
2010-04-05 19:43 2039总觉得的老用alert的方式打断用户操作是非常不好的做法,调用 ...
相关推荐
Extjs4 comboboxTree下拉树型菜单,完美支持多选、单选,绝对好用。来源于网络,稍作修改。
Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用
NULL 博文链接:https://pridesnow.iteye.com/blog/815193
其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树加载器Ext.tree.TreeLoader。下面介绍Extjs 中的 Treepanel 实现菜单级联选中效果。 在 ...
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
ext 级联选择的树形控件,有实例用法,不明白的请发邮件到cencai06@163.com
网络级联失效算法,及实现代码,源码,在级联失效编程中
如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和Store A.9.3. 动态为ds添加参数baseParams A.10. 有关tree的一些小问题 A.10.1. 如何选中树中的某个节点 A.10.2. 刷新树的所有节点 A.10.3. ...
纯JS+HTML写的checkBox Tree 级联选中 好用无BUG 1 选上级,自动选下级 2 选下级,自动选上级 在网上找的其他例子,都有BUG,本程程序绝对可用,放心下载!
让你知道ext表格控件的厉害。 2.1. 功能丰富,无人能出其右 2.2. 让我们搞一个grid出来耍耍吧。 2.3. 上边那个是1.x的,2.0稍微有些不同哦 2.4. 按顺序,咱们先要把常见功能讲到 2.4.1. 自主决定每列的宽度 ...
让你知道ext表格控件的厉害。 2.1. 功能丰富,无人能出其右 2.2. 让我们搞一个grid出来耍耍吧。 2.3. 上边那个是1.x的,2.0稍微有些不同哦 2.4. 按顺序,咱们先要把常见功能讲到 2.4.1. 自主决定每列的宽度 2.4.2. ...
NULL 博文链接:https://dengli19881102.iteye.com/blog/1046661
级联选择器,当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择
Web树形级联菜单,连接oracle,嵌套ajax,servlet
NULL 博文链接:https://luhai1992.iteye.com/blog/642619
运用Java实习的一款级联树形菜单,无下限,简单易懂
NULL 博文链接:https://keepcrazy.iteye.com/blog/1874905
级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单
图像级联算法可用于车牌检测,但是速度较慢,大家可以下载下来看看,加强对自适应级联算法的学习