easyui的treegrid实现树型向上汇总功能

Posted yanggb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui的treegrid实现树型向上汇总功能相关的知识,希望对你有一定的参考价值。

记录下如何在使用EasyUI的treegrid的情况下实现树型向上汇总功能。

首先是取出treegrid中的所有顶级节点。

var treeList = jQuery(‘#treegrid‘).treegrid(‘getChildren‘);
var treeListOnlyTopNodes = [];
for (var i = 0; i < treeList.length; i++) {
    if (!treeList[i].pid) {
    treeListOnlyTopNodes.push(treeList[i]); } } treeSum(treeListOnlyTopNodes);

然后是定义并实现treeSum函数。

function treeSum(treeList) {
    // console.log(treeList);
    for (var i = 0; i < treeList.length; i++) {
        sumMoneyToItsParent(treeList[i]);
    }
}

最后是定义并实现sumMoneyToItsParent函数。

function sumMoneyToItsParent(item) {
    let sumMoney = 0;
    if (item.children && item.children.length) {
        for (let childItem of item.children) {
            sumMoneyToItsParent(childItem);
            sumMoney = (Number(sumMoney) + Number(childItem.comeMoney || 0)).toFixed(2);
        }
        item.comeMoney = sumMoney;
        jQuery(‘#treegrid‘).treegrid(‘refresh‘, item.id);
    }
}

特别说明的是,因为EasyUI并没有实现数据驱动模型,因此需要使用treegrid提供的刷新行方法将汇总的数据更新到树表中。

 

"敏感的人特别懂事,只需要稍稍给点暗示,就能读懂背后的意思,所以从不让与人为难,只会为难自己。"

以上是关于easyui的treegrid实现树型向上汇总功能的主要内容,如果未能解决你的问题,请参考以下文章

Easyui的treegrid异步加载数据效率问题

谈一谈EasyUI的TreeGrid的过滤功能

easyUI中的treegrid如何支持大数据量的展示,不分页。像它的datagrid一样

jquery easyui treegrid使用小结 二

knockoutjs + easyui.treegrid 可编辑的自定义绑定插件

easyui treegrid实现显示checkbox并能获取到选定值的