JsTree一个节点有两个父

时间:2018-05-12 10:51:31

标签: html asp.net json tree jstree

我在ui中显示jstree并使用asp.net服务器端代码填充json,它的工作正常但是当我有一个节点有两个父节点时它不能正常工作。 我能展示一个节点有两个父节点的jstree吗? 当我这样做它得到显示错误。 它切两个父母之间的孩子! 我知道它不是树的角色,但我需要它。



    $(function () {

        $('#jstree').jstree({
            'core': {
                "animation": 0,
                "check_callback": true,
                "themes": { "stripes": true },
                'data': {
                    'url': '/Products/ProductCategoryStructure/GetData',
                    'data': function (node) {
                        return { 'id': node.id };
                    }
                }
            },
            "types": {
                "#": {
                    "max_children": 1,
                    "max_depth": 4,
                    "valid_children": ["root"]
                },
                "default": {
                    "valid_children": ["default", "file"]
                },
                "file": {
                    "icon": "glyphicon glyphicon-file",
                    "valid_children": []
                }
            },
             plugins: ["contextmenu"], contextmenu: {items: customMenu}
        });


        $('#jstree').on('changed.jstree', function (e, data) {
            var i, j, r = [];
            for (i = 0, j = data.selected.length; i < j; i++) {
                r.push(data.instance.get_node(data.selected[i]).text);
            }
            //alert('Selected: ' + r.join(', '));
            // $('#event_result').html('Selected: ' + r.join(', '));
        }).jstree();
    });
&#13;
&#13;
&#13;

它的服务器端代码

&#13;
&#13;
        [HttpGet]
        public ActionResult GetData()
        {
            var ListProductCategoryStructure = _service.GetAll();
            var nodes = new List<JsTreeModel>();
            //nodes.Add(new JsTreeModel() { id = "58", parent = "#", text = " مادیران مال",opened=true,icon="/assets/pages/img/mlgo.png" });
            nodes.Add(new JsTreeModel() { id = "1", parent = "#", text = " مادیران مال", opened = true, icon = "/assets/pages/img/mlgo.png" });
            foreach (var item in ListProductCategoryStructure)
            {
                nodes.Add(new JsTreeModel() { id = item.ProductCategoryId.ToString(), parent = (item.ProductParentCategoryId==65?"#": item.ProductParentCategoryId.ToString()), text = item.ProductParentCategoryTitle,icon="false" });
            }
            
            return Json(nodes, JsonRequestBehavior.AllowGet);
        }
&#13;
&#13;
&#13; 它的结果 enter image description here

0 个答案:

没有答案