关于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 ...
随机推荐
- c语言,strchr(),查找字符串中第一次字符出现的位置
int main(void) { char string[15]; char *ptr, c = 's'; strcpy(string, "This is a string"); ...
- Verilog-1995 VS Verilog-2001
http://www.cnblogs.com/tshell/p/3236476.html 2001年3月IEEE正式批准了Verilog‐2001标准(IEEE1364‐2001),与Verilog‐ ...
- angular下H5上传图片(可多张上传)
最近做的项目中用到了angular下上传图片功能,在做的过程中遇到了许多问题,最终都得以解决 angular上传时和普通上传时过程差不多,只不过是要不一些东西转化为angular的东西. 1.ng-f ...
- C++ 全排列函数 nyoj 366
C++ STL中提供了std::next_permutation与std::prev_permutation可以获取数字或者是字符的全排列,其中std::next_permutation提供升序.st ...
- JBPM WEB CONSOLE安装实录
http://www.blogjava.net/paulwong/archive/2009/03/13/259551.html JBPM WEB CONSOLE是一个B/S端的,能管理JBPM的流程和 ...
- EF6调用存储过程,返回多个结果集处理
链接:http://www.codeproject.com/Articles/675933/Returning-Multiple-Result-Sets-from-an-Entity-Fram 案例: ...
- C语言study一
之前看了CPP,敲过些代码,但总觉得学得不够系统,书后面的习题比较无聊,不想去写.C主要在学数据结构和理解底层上面很有帮助. 于是又来mooc学习C语言,看了下视频虽然很繁琐啰嗦,但是有些东西我确实以 ...
- com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException
在日志中, 查看导入的包是否是 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;
- 那天有个小孩跟我说LINQ(二)转载
1 LINQ TO Objects续(代码下载) 新建项目 linq_Ch2控制台程序,新建一个Entity文件夹 1.1 学生成绩查询(练习Join) 有三张表如下 ...
- WPF窗体视图中绑定Resources文件中字符串时,抛出:System.Windows.Markup.StaticExtension
问题描述: 在Resources.resx定义了一个静态字符串字段Title,并在WPF窗体视图中绑定为窗体的标题: Title="{x:Static local:Resources.Tit ...