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如何支持大数据量的展示,不分页。像它的datagrid一样