树形图

4 篇文章 0 订阅
1 篇文章 0 订阅

http://www.ztree.me/v3/demo.php#_101


<%@ Import namespace="Sundear.Permission" %>
<%@ Import namespace="Sundear.Base.Common" %>
<%@ Import namespace="Sundear.Base" %>
<%@ Import namespace="BusinessCore" %>
<%@ Import namespace="BusinessCore.Search" %>

<%
    IProductionPhaseCode iproductionPhaseCode =Branson.BusinessCore.BusinessCoreEngine.GetProvider<IProductionPhaseCode>();
    SearchProductionPhaseCode search=new SearchProductionPhaseCode ()
    {
        SearchType = SearchTypeEnum.Total,
    };
    IList<ProductionPhaseCodeInfo> list = iproductionPhaseCode.SearchProductionPhaseCode(search);

    list = Branson.Management.Controllers.Production.ProductionController.SortPlannerPhaseCode(list.ToList());



    string zNodes = JsonHelper.ToJson(list.Select(s => new
    {
        name = s.PhaseCodeName,
        id = s.PhaseCodeID,
        pId = s.PhaseCode,
        Checked = true
    }));
    
%>



<SCRIPT type="text/javascript">
    var setting = {
        check: {
            enable: true,
            chkStyle: "checkbox",
            chkboxType: { "Y": "ps", "N": "ps" }

        },
        view: {
            showLine: false,
            selectedMulti: false,
            showIcon :false,
        },
        data: {
            simpleData: {
                enable: true
            }
        },
        callback: {
            onCheck: zTreeOnCheck
        }
    };
    var setting1 = {
        check: {
            enable: true,
            chkStyle: "radio",
            radioType:"all"

        },
        view: {
            showLine: false,
            selectedMulti: false,
            showIcon: false,
        },
        data: {
            simpleData: {
                enable: true
            }
        },
        callback: {
            onCheck: zTreeOnCheck1
        }
    };
   //此方法为选择方法,将选择的节点的id保存到hidden中,我这边项目需求的是单选,所以直接用的是$("#hiddenBox").html(),假若是多选,可以考虑$("#hiddenBox").append(...)
   function zTreeOnCheck1(event, treeId, treeNode) {
        var hiddenString = '<input type="hidden" name="allocation" value="' + treeNode.id + '">';
        $("#hiddenBox").html(hiddenString);
    };
    function zTreeOnCheck(event, treeId, treeNode) {
        if (treeNode.isParent) {
            $.each(treeNode.children, function (index, value) {
                if (treeNode.checked) {
                    appendHidden(value.id);
                } else {
                    removeHidden(value.id);
                }
            });
        } else {
            if (treeNode.checked) {
                appendHidden(treeNode.id);
            } else {
                removeHidden(treeNode.id);
            }
        }
    };
    function appendHidden(id) {
        var hiddenString = '<input type="hidden" name="allocation[]" value="' + id + '">';
        $("#hiddenBox").append(hiddenString);
    }
    function removeHidden(id) {
        $("#hiddenBox>input").each(function (index, element) {
            if ($(this).val() == id) {
                $(this).remove();
            }
        });
    }

    var zNodes =<%=zNodes%>  
    function onCheck(e, treeId, treeNode) {
        count();
    }
    function setTitle(node) {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo");
        var nodes = node ? [node] : zTree.transformToArray(zTree.getNodes());
        for (var i = 0, l = nodes.length; i < l; i++) {
            var n = nodes[i];
            n.title = "[" + n.id + "] isFirstNode = " + n.isFirstNode + ", isLastNode = " + n.isLastNode;
            zTree.updateNode(n);
        }
    }
    function count() {
        function isForceHidden(node) {
            if (!node.parentTId) return false;
            var p = node.getParentNode();
            return !!p.isHidden ? true : isForceHidden(p);
        }
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
        checkCount = zTree.getCheckedNodes(true).length,
        nocheckCount = zTree.getCheckedNodes(false).length,
        hiddenNodes = zTree.getNodesByParam("isHidden", true),
        hiddenCount = hiddenNodes.length;
        for (var i = 0, j = hiddenNodes.length; i < j; i++) {
            var n = hiddenNodes[i];
            if (isForceHidden(n)) {
                hiddenCount -= 1;
            } else if (n.isParent) {
                hiddenCount += zTree.transformToArray(n.children).length;
            }
        }
        $("#isHiddenCount").text(hiddenNodes.length);
        $("#hiddenCount").text(hiddenCount);
        $("#checkCount").text(checkCount);
        $("#nocheckCount").text(nocheckCount);
    }
    function showNodes() {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
        nodes = zTree.getNodesByParam("isHidden", true);
        zTree.showNodes(nodes);
        setTitle();
        count();
    }
    function hideNodes() {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
        nodes = zTree.getSelectedNodes();
        if (nodes.length == 0) {
            alert("Please select one node at least.");
            return;
        }
        zTree.hideNodes(nodes);
        setTitle();
        count();
    }
    $(function () {
        //alert(1);
        //$.fn.zTree.init($("#treeDemo"), setting, zNodes);
        //$.fn.zTree.init($("#treeDemo"), setting1, zNodes);
    })
    function GetCheID()
    {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo");

        alert(zTree);
        var nodes = zTree.getSelectedNodes();
        alert(nodes[0]);
        var treeNode = nodes[0];
        var treeNodeP = treeNode.parentTId ? treeNode.getParentNode() : null;
        for (var i = 0; i < treeNode.children.length; i++) {
            var childNode = treeNode.children[i];
            alert('childNode.name: ' + childNode.name);

        }
        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
        var nodes = treeObj.getSelectedNodes();
    }
	</SCRIPT>

<div class="content_wrap">
	 <ul id="treeDemo" class="ztree treeContainer" style="margin-top: 10px;height:220px;"></ul>
	<div style="display:none;" id="hiddenBox"></div>
</div>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值