Layui数据表格添加合计列totalRow,分页的每一页都显示总数

本文详细介绍如何在JSP中实现跨页数据总计,包括在jsp页面添加特定属性、后台编写总计统计SQL及确保合计数据字段与jsp字段匹配的方法。

我需要的效果如图:
在这里插入图片描述
1:首先在jsp添加相关属性
在这里插入图片描述
只是添加这些属性的话,计算出的合计是当前页的累加合计,不符合我的需求,我需要每页显示的都是所有数据的合计
2:在后台方法中,写一个合计统计的sql,返回的数据结构如图所示
在这里插入图片描述

3:需要注意的是,你的合计数据totalRow里面的字段名,需要和jsp中field中的字段名一样,否则,合计值还是显示不出来
以上步骤完成,合计值就可以显示出来了

layui table表格中对合计行的数据进行计算和显示,可按以下方法操作: ### 开启合计行 在表格基础参数中设置 `totalRow: true`,同时在表头参数 `cols` 里对需要计算合计设置 `totalRow: true` 或者使用特定表达式。示例代码如下: ```javascript table.render({ elem: '#demo', height: 420, url: '/demo/table/user/', // 数据接口 title: '用户表', page: false, // 开启分页 totalRow: true, // 开启合计行 cols: [ [ {field: 'id', title: 'ID', width: 80, fixed: 'left', totalRowText: '合计:'}, {field: 'classify', title: '爱好', width: 90}, {field: 'experience', title: '积分', width: 90, totalRow: true}, {field: 'experience', title: '重量', width: 190, totalRow: '{{ d.TOTAL_NUMS }} 千克'}, {field: 'score', title: '分数', width: 80, sort: true, totalRow: '{{ parseInt(d.TOTAL_NUMS) }} 分'} ] ] }); ``` ### 自定义计算逻辑 若要使用自定义的计算逻辑,可在 `done` 回调函数中实现。在该回调函数里,对表格数据进行遍历和计算,然后将计算结果显示合计行中。示例代码如下: ```javascript table.render({ elem: '#demo', url: '/your/data/url', totalRow: true, cols: [ [ {field: 'amount', title: '金额', totalRow: true} ] ], done: function (res, curr, count) { let totalAmount = 0; // 遍历数据计算合计 for (let i = 0; i < res.data.length; i++) { totalAmount += parseFloat(res.data[i].amount); } // 将计算结果显示合计行 this.elem.next().find('.layui-table-total td[data-field="amount"] .layui-table-cell').text(totalAmount); } }); ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值