JsTree, JsTreeGrid - Получить родительский узел при создании сетки - PullRequest
0 голосов
/ 27 февраля 2019

Я использую 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 не определен

1 Ответ

0 голосов
/ 28 февраля 2019

Вам нужно будет использовать экземпляр 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"]
});
...