Extjs TreePanel 完美实现
来源:互联网 发布:uniprotRef数据库 编辑:程序博客网 时间:2024/05/06 02:50
treepanel.on('change',function(node,checked){
treecheck(node,checked);//调用下列方法
});
////树形控件的选择
var treecheck=function(node,checked){
node.expand();
if(node.hasChildNodes()){
ChildWithParent(node,checked);
}
//如果是选中状态,则选中所有父节点
if(checked){
ParentWithChild1(node,checked);
}
//如果不选中
else{
ParentWithChild2(node,checked);
}
}
//选择结点,影响所有子节点
var ChildWithParent=function(node,bool){
if(node){
node.attributes.checked = bool;
if(node.hasChildNodes()){
node.eachChild(function(child){
child.ui.toggleCheck(bool);
child.attributes.checked = bool;
ChildWithParent(child,bool);
});
}
}
}
//如果是选中状态,则选中父节点---递归
var ParentWithChild1=function(node,bool){
if(node.parentNode.getUI().checkbox){
var parent=node.parentNode;
parent.attributes.checked=bool;
parent.getUI().checkbox.checked=bool;
ParentWithChild1(parent,bool);
}
}
//如果是不选中状态,则遍历父节点,如果该父节点下的所有节点都为不选中,则取消选中
var ParentWithChild2=function(node,bool){
if(node.parentNode.getUI().checkbox){
var parent=node.parentNode;
var temp=false;
parent.eachChild(function(child){
if(child.getUI().checkbox.checked==true){
temp=true;
return false;
}
});
if(!temp){
parent.attributes.checked=bool;
parent.getUI().checkbox.checked=bool;
temp=false;
ParentWithChild2(parent,bool);
}
}
}
- Extjs TreePanel 完美实现
- extjs treepanel
- ExtJs Treepanel 实现整个树形菜单刷新
- extjs treepanel的ctrl、shift多选、连选功能实现
- extjs的treepanel不自动加载的实现
- extjs中treepanel和tabpanel结合实现布局
- ExtJS专题-TreePanel(1)
- ExtJS专题-TreePanel(1)
- ExtJS专题-TreePanel(2)
- ExtJS专题-TreePanel(1)
- ExtJs之TreePanel篇
- Extjs的TreePanel
- ExtJs——TreePanel!!!
- EXTJS 专题 TreePanel
- extjs 异步treepanel创建
- ExtJS专题-TreePanel
- ExtJS学习之TreePanel
- ExtJS专题-TreePanel(1)
- selenium学习笔记
- 【转】每天写出好代码的5个建议
- DirectBuffer及内存泄漏
- Open drain 输出的好处?
- 有理想的程序员必须知道的15件事
- Extjs TreePanel 完美实现
- jquery+table+td+a
- Ubuntu镜像
- struts2 获取请求相关对象
- Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
- NBU网络备份大全之oracle系统热备份
- python之set
- oracle系统冷备份---NBU网络备份大全
- MFC应用程序接收命令行参数的实现