JsTree, JsTreeGrid - 制作网格时获取父节点

JsTree, JsTreeGrid - Get parent node when making grid

我将 JsTree 与 JsTreeGrid 插件一起使用。 https://github.com/deitch/jstree-grid

我想获取父节点的数量与当前节点的数量相乘得到扩展数量。

见代码:

grid: {
    columns: [
        {header: "Title", value: function(node){return(node.text);}},
        {width: 150, header: "Quantity", value: function(node){return(node.data.quantity);}},
        {width: 150, header: "Extended Quantity", 
                value: function(node) {
                    return(get_parent(node).quantity*node.quantity);
                }}
    ]
}

它给我:Uncaught ReferenceError: get_parent is not defined

您将不得不使用jstree 实例来获取父节点的数据。网格文档似乎没有 get_parent 方法。这是通过从该实例获取 jstree 实例和父节点来执行相同操作的一种方法。

var oTree = $('#jstree_demo_div');
oTree.jstree({
    "core": {
        //...
        //...
        'data': data
    },
    grid: {
        columns: [{ header: "Title", value: function (node) { return (node.text); } },
        { width: 150, header: "Quantity", value: function (node) { return (node.data.quantity); } },
        {
            width: 150, header: "Extended Quantity",
            value: function (node) {
                var parent = oTree.jstree(true).get_node(node.parent);
                if(parent.hasOwnProperty('data')){ //Root node has no data
                    return (parent.data.quantity * node.data.quantity);
                }
                return(node.data.quantity);
            }
        }]
    },
    "plugins": ["grid"]
});