zoukankan      html  css  js  c++  java
  • EXT.net 1.x TreePanel的一个坑

    Ext.net TreePanel有一个方法

    drptreepanel.setChecked({ ids: idsarray, silent: true }); 
    
    
    

    如果TreePanel里有1,3两个节点,ids内有一个5的节点,那么就会出问题,必须从新刷新页面。
    将以上方法修改为

            function SetChecked(treepanel, arrayids) {
                var rootnode = treepanel.getRootNode();
                if (arrayids.contain(rootnode.id))
                    rootnode.getUI().checkbox.checked = true;
                else
                    rootnode.getUI().checkbox.checked = false;
                findchildnode1(rootnode, arrayids);
            }
    
            function findchildnode1(node, arrayids) {
                var childnodes = node.childNodes;
                for (var i = 0; i < childnodes.length; i++) {  //从节点中取出子节点依次遍历
                    var rootnode = childnodes[i];
    
                    if (rootnode.childNodes.length > 0) {  //判断子节点下是否存在子节点
                        findchildnode1(rootnode, arrayids);    //如果存在子节点  递归
                    }
                    console.log(rootnode.id);
                    if (arrayids.contain(rootnode.id))
                        rootnode.getUI().checkbox.checked = true;
                    else
                        rootnode.getUI().checkbox.checked = false;
                }
            }
            Array.prototype.contain = function (val) {
                for (var i = 0; i < this.length; i++) {
                    if (this[i] == val) {
                        return true;
                    }
                }
                return false;
            };

    相应代码修改为

    SetChecked(department,ids);
  • 相关阅读:
    mvc+dwz准备工作
    C# action,delegate,func的用法和区别
    mvc+dwz第二天
    mvc+dwz第一天
    H5文件上传2
    H5文件上传1
    vs2010 nuget 基础连接已经关闭:发送时发生错误
    redis分布式锁
    C# 并发队列ConcurrentQueue
    正则表达式入门
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/11271663.html
Copyright © 2011-2022 走看看