zoukankan      html  css  js  c++  java
  • dojo tree edit的使用[前端]

    var store = new mydata.JsonRestStore({ target: "<%=ResolveUrl("~/uieditserver.ashx")%>" });

    typestore = new mydata.JsonRestStore({
    target: "<%=ResolveUrl("~/uieditserver.ashx") %>",
    labelAttribute: "pagename"
    });

    treeModel = new dijit.tree.ForestStoreModel({
    store: typestore,
    deferItemLoadingUntilExpand: true,
    rootLabel: "系统功能树",
    query: { operation: 'pageList.FindTree' },
    childrenAttrs: ["Details"]
    });

    var treeControl = new dijit.Tree({
    id: "atreepowers",
    model: treeModel,
    autoExpand: true,
    showRoot: true,
    _createTreeNode: function (args) {

    var tnode = new dijit.Tree._TreeNode(args);
    tnode.labelNode.innerHTML = args.label;
    if (args.item.root) {//如果是根
    return tnode;
    }

    var cb = new dijit.form.CheckBox();
    cb.placeAt(tnode.labelNode, "first");

    dojo.connect(cb, "onChange", function () {
    var treeNode = dijit.getEnclosingWidget(this.domNode.parentNode);
    dojo.publish("/checkbox/clicked", [{
    "checkbox": this,
    "item": treeNode.item
    }]);
    });

    return tnode;
    }
    });

    dojo.subscribe("/checkbox/clicked", function (message) {
    message.item.ischecked = message.checkbox.checked;
    setpersiblings(message.checkbox.getParent());
    });

    function setpersiblings(selectNode) {
    if (!selectNode) return;
    //先子级,孙级
    var checked = selectNode.item.ischecked;
    var childrens = selectNode.getChildren();
    for (var i = 0; i < childrens.length; i++) {
    childrens[i].item.ischecked = checked;
    dijit.getEnclosingWidget(childrens[i].labelNode.firstElementChild)
    .set('checked', checked);
    }

    var iparentknow = 0;
    //位置,往前获取数据,往后获取数据,同级
    var getparentchildrens = selectNode.getParent();//.getChildren();
    while (getparentchildrens && getparentchildrens.isTreeNode && !getparentchildrens.item.root) {
    var getchildrens = getparentchildrens.getChildren();
    for (var i = 0; i < getchildrens.length; i++) {
    if (getchildrens[i].item.ischecked) {
    iparentknow += 1;
    }
    }
    if (iparentknow === getchildrens.length) {
    getparentchildrens.item.ischecked = true;
    dijit.getEnclosingWidget(getparentchildrens.labelNode.firstElementChild)
    .set('checked', true);
    }
    else {
    getparentchildrens.item.ischecked = false;
    dijit.getEnclosingWidget(getparentchildrens.labelNode.firstElementChild)
    .set('checked', false);
    }
    getparentchildrens = getparentchildrens.getParent();//.getChildren();
    }
    }

  • 相关阅读:
    linux中mysql,mongodb,redis,hbase数据库操作
    hbase数据库操作
    hdfs基本操作
    linux及hadoop基本操作
    创建有关hbase数据库的项目时所遇到的问题
    数据科学与大数据
    《TCP/IP详解卷1:协议》——第2章:链路层(转载)
    《TCP/IP详解卷1:协议》——第1章:概述(转载)
    深入理解计算机操作系统——第9章:缓存,存储器管理
    深入理解计算机操作系统——第9章:物理和虚拟寻址,地址空间
  • 原文地址:https://www.cnblogs.com/forhell/p/4718122.html
Copyright © 2011-2022 走看看