关于textjs的tree带复选框的树
通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到。话不多说,先看一下效果图:

我写的这人员选择的树,主要是改写了TreePanel,如下代码:
ExtendTreePanel.js (该文件中可以写一些触发事件)
Ext.namespace('Ext.ysq');//Ext.namespace方法定义一个管理类的包,类似Java中定义的包名,目的是建立自己的一个对象名,方便管理,防止重复
Ext.ysq.ExtendTreePanel = Ext.extend(Ext.tree.TreePanel,{
initComponent:function(){
this.addEvents(//自定义事件
'nodechecked'
);
this.addListener({
checkchange:{//当一个带有复选框的节点的复选框选中状态发生变化时触发
fn:function(node,checked){
if(!node.loaded){//子节点是否加载
node.expand();
}
this.selectChildNodes(node,checked);//选定子节点
if(node.parentNode){//是否为父节点
this.selectParentNodes(node,checked);//是否选定父节点
}
},
scope:this
}
});
Ext.ysq.ExtendTreePanel.superclass.initComponent.call(this);//直接调用父类的构造函数,或者一些属性
},
selectChildNodes:function(Node,checked){
Node.eachChild(function(node){
node.attributes.checked = checked;
node.getUI().toggleCheck(checked);
if(!node.leaf){
if(!node.loaded){
node.expand();
}
this.selectChildNodes(node,checked);
}
},this);
},
selectParentNodes:function(Node,checked){//判断父节点选中,子节点全部被选中
Node.eachChild(function(node){
node.getUI().toggleCheck(checked);
},this);
}
});
所需要展示的信息树:
ExtendTreeTest.js:
var extPanel = new Ext.ysq.ExtendTreePanel({
title:'选择人员信息',
titleCollapse:false,
useArrows:true,
root:new Ext.tree.AsyncTreeNode({
id:'rootNode',
checked:false,
allowDrag:false,
//expanded: true, //从该节点开始,展开节点(不级联到下一节点)
leaf:false,
icon:'./image/im16x16.gif',
expandable:true,
lines:true,//节点之间连接的横竖线
//animate : true,//设置为true以启用展开/收缩时的动画效果
singleClickExpand:true,//用单击文本展开,默认为双击
loader: new Ext.tree.TreeLoader(),
text:'通讯录信息',
children:[
{text:'城建办',
leaf:false,
icon:'./image/im16x16.gif',
checked:false,
children:[
{
text:'李昆学',
leaf:true,
icon:'./image/user_suit.gif',
checked:false
},
{
text:'张馨文',
leaf:true,
icon:'./image/user_suit.gif',
checked:false
}
]
},
{text:'总工会',
leaf:false,
icon:'./image/im16x16.gif',
checked:false,
children:[
{
text:'黄海成',
leaf:true,
icon:'./image/user_suit.gif',
checked:false
},
{
text:'徐进新',
leaf:true,
icon:'./image/user_suit.gif',
checked:false
}
]
}
]
})
});
var win = new Ext.Window({
title:'人员选择窗口',
width:420,
height:380,
frame:true,
border:false,
layout:'fit',
buttonAlign:'center',
draggable:false,
closable:false,
modal:true,
items:[extPanel],
buttons : [{
text : '传阅',
handler : function() {
}
}, {
text : '关闭',
handler : function() {
}}]
});
/*var dealpanel = new Ext.Panel({
border : false,
title : '传阅人员',
layout : 'fit',
height : 380,
width : 420,
autoScroll : true,
items : [extPanel]
});*/
Ext.onReady(function(){
//Ext.QuickTips.init();
//dealpanel.render("tab");
win.show();
});
最后,附带一些有关tree中的配置属性:(这些都可以在api中查看,转载)
关于textjs的tree带复选框的树的更多相关文章
- 关于JFace带复选框的树
树的复选框用CheckboxTreeViewer实现.由于其子类ContainerCheckedTreeViewer在没有选择全部子节点时可以自动将父节点设置成灰选,所以实现树的复选框更多的是用Con ...
- 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建带复选框的树形菜单
jQuery EasyUI 树形菜单 - 创建带复选框的树形菜单 easyui 的树(Tree)插件允许您创建一个复选框树.如果您点击一个节点的复选框,这个点击的节点信息将向上和向下继承.例如:点击 ...
- jquery完成带复选框的表格行高亮显示
jquery完成带复选框的表格行高亮显示 通过jquery技术来操作表格是件简单的事,通过jquery的语法,可以很轻松的完成表格的隔行换色,悬浮高亮,在实际的应用中可能会出现表格中带复选框的,删除时 ...
- WPF:带复选框CheckBox的树TreeView
最近要用WPF写一个树,同事给了我一个Demo(不知道是从哪里找来的),我基本上就是参照了这个Demo. 先放一下效果图(3棵树): 这个树索要满足的条件是: 父节点.Checked=true时,子节 ...
- 判断easyUI tree 节点复选框是否被选中的方法。将选中的节点高亮显示的方法
在datagrid tree中如何判断某个节点的复选框是否被选中? 我们可以通过HTML结构去分析: 1.节点未选中前 2.节点选中后 所以节点被选中前和选中后,html中的class类是用区分的. ...
- easyUI带复选框的组合树
代码: <input id="depts"><script type="text/javascript">$(document).rea ...
- C# 读带复选框的excel,写excel并设置字体、边框、背景色
这是一篇excel读写功能大汇总,通过C#调用Microsoft.Office.Interop.Excel.dll才能完成任何复杂格式excel的读写操作. 本文需要读取的excel格式如下: 可见表 ...
- 实现带复选框的TreeView控件
实现效果: 知识运用: TreeView控件的CheckView属性 //是否在树形视图控件中显示复选框 public bool CheckBoxs{ get;ser } 实现代码: TreeView ...
- 制作带复选框的ListView控件
实现效果: 知识运用 ListView控件的GridLines //设置是否在ListView控件中显示网格线 public bool GridLines{get;set} 和CheckBoxes ...
随机推荐
- java23 XML
XML:可扩展标记语言. xml可以当成一个小型的数据库, html / \ html5 xhtml(格式比较严格) | xml xml解析方式有2种: -SAX,SAX是基于事件流的解析,事件流解析 ...
- 深入理解Linux操作系统守护进程的意义
Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的.守护进程 ...
- Eclipse SVN插件账号、密码修改
操作系统:win7 svn插件:Window -> Preferences -> Team -> SVN 修改方式: 1,删除C:\Users\用户名\AppData\Roaming ...
- 使用 Date 和 SimpleDateFormat 类表示时间
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的Date类.这个类最主要的作用就是获取当前时间,我们来看下Date的类的使用: Date d=new Dat ...
- magento 常用的函数
1.Magento eav_attribute表中source如何指定自定义数据来源 如果你引用的类名为yebihai_usermanage_model_entity_school你必须完整的给出地 ...
- SQL Developer 4.1.3
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html SQL DeveloperDo ...
- 20160329javaweb之JSP -cookie入门
一.什么是会话? •会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话过程中要解决的一些问题? •每个用户在使用浏览器与服务器 ...
- windows访问linux共享
1. 安装samba yum install samba 2. 配置samba配置文件,添加共享文件夹 vim /etc/samba/smb.conf 3. 关闭selinux vi /etc ...
- 数据库hang住 处理过程
当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate dump来知道进程在做什么,在等待什么,谁是资源的持有者,谁阻塞了别人.在出现上述问题时,及时收集systems ...
- 时间处理总结(一).net
不断整理中... 获取当前时间DateTime.Now.ToString("d") ;//获取到的日期格式为eg :2013/11/14 时间格式只取年月日DateTime.Now ...