ext treepanel 实现:全选,全部取消,子节点全部选中,父节点自动选中。
网上查到的,会发现不太好用。
分享代码。
//省略构造树和树的加载器的代码
var INDEX_CATEGORY_CHECKING = false;
ADDRESS_NAMESPACE.tree_dept.on('checkchange', function(node, checked) {
if (!INDEX_CATEGORY_CHECKING) {
INDEX_CATEGORY_CHECKING = true;
checkchild(node,checked);
checkparent(node);
INDEX_CATEGORY_CHECKING=false;
}
});
function checkchild(node,checked){
node.eachChild(function(child)
{
//debugger;
if(child.childNodes.length>0){
checkchild(child,checked);//递归
}
//child.on('checkchange',function(node, checked){return false});
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
//child.fireEvent('checkchange', child, checked);
});
}
function checkparent(node){
if(!node){return false;}
var parentNode = node.parentNode;
if(parentNode !== null) {
var isall=true;
parentNode.eachChild(function(n){
if(!n.attributes.checked){
isall=false;
}
});
if(isall){
parentNode.ui.toggleCheck(isall);
parentNode.attributes.checked = isall;
}else{
parentNode.ui.toggleCheck(isall);
parentNode.attributes.checked = isall;
}
}
checkparent(parentNode);//递归
};
分享到:
相关推荐
总之,“Ext TreePanelrcheckbox级联选择的实现”涉及了ExtJS的TreePanel组件和复选框模型的使用,通过监听事件和自定义逻辑实现了节点间的选择级联。这种功能在具有层级结构的数据选择场景中非常常见,如权限管理、...
这种级联选中功能在很多场景下都非常有用,比如在设置权限时,选择或取消选择某个父节点将自动选择或取消选择其所有子节点,大大提高了用户的操作效率。 需要注意的是,实例代码的介绍以及功能的实现都需要依赖于...
综上所述,"Ext TreePanel Checked Ext复选框树"是一个强大的前端组件,它提供了便捷的多级选择功能,并且可以通过丰富的API和配置选项进行高度定制,以适应各种业务场景。在实际项目中,正确理解和使用这一特性,...
总结一下,"ExtJS4.2 tree 级联选择"是通过ExtJS的TreePanel组件实现的,利用了`selModel`的级联选择功能,配合`check-tree.js`中的逻辑代码,读取`check-nodes.json`作为数据源,构建了一个具有交互式的树形选择器...
总结来说,"Ext 树的级联选择扩展插件使用说明"涉及到的是在Ext JS环境中,如何利用自定义的`TreeCheckNodeUI.js`插件实现树形控件的级联选择功能。通过理解并运用上述步骤,开发者可以创建出交互性强、用户体验良好...
要实现单选功能,ComboBoxTree可能使用了Ext.selection.Model类,通过配置singleSelect选项来限制用户只能选择一个节点。单击一个节点时,其他已选中的节点将被自动取消选中。这在需要用户做出唯一选择的场景中非常...
8. **自定义行为**: 如果需要实现更复杂的复选框逻辑,如级联选择、反选等,可以通过重写或扩展CheckboxModel的相关方法来实现。 通过这个"checkTreeGrid"示例,开发者可以学习到如何在ExtJS 4中创建一个具有复选框...
6. **可配置性**:优秀的复选框树组件应该提供可配置选项,如是否开启级联选择,是否允许部分选中等,以满足不同场景的需求。 7. **性能优化**:对于大型数据集,避免一次性处理所有节点,可能需要分批次或懒加载...
2. **Ext.tree.TreePanel**:`TreePanel`是EXTJS中的一个类,用于创建一个可视化的树形控件。在描述中,创建了一个新的`TreePanel`实例,并设置了多个配置选项,如`el`, `animate`, `title`, `collapsible`, `...