[编程笔记] EasyUI显示分组合计行

    我们常会有下面这种需求:

     表格的底部显示合计,项目用的是EasyUI,实现起来很简单,datagrid初始化时设置showFooter为true,然后后端返回rows时,再同级返回一个footer,比如这种结构:

     哪一列需要合计,footer就返回对应的列名,以及对应的值。

    不过我遇到一个奇怪的bug,第一张图圈中的三个列分别是:0.00、(空)、40.00,项目里,有的列不需要合计,正常来讲,footer不返回那个列就行了,前端EasyUI就不会再渲染这个列的合计。

    但是并非如此,第一个圈中的0.00就是bug,后端不返回这个列的合计了,底部还显示0.00,显然不合理,应该像右侧一样显示(空)。

    对比了一下区别后,发现这个金额列,用了公共方法formatAmount,里面默认返回了0.00,影响合计行了。

    处理方案:

    1、基类JS新增一个方法,默认返回(空)

               2、这个不显示合计的金额列使用新增的方法

    这样就完成了这个页面的需求,同时不影响其他使用formatAmount的地方。金额列一般是要合计并默认值0.00的,只是当前这种场景不需要0.00,复测了一下,并不影响明细里的显示,明细里还是0.00,是OK的,底部合计不显示0.00就可以了。

    项目里脚本封装得太狠了,EasyUI的官方文档写得又潦草,网上的笔记也不多,真的是很无语辣。写点笔记方便以后查阅吧。

posted @ 2024-11-20 18:30  顾星河  阅读(0)  评论(0编辑  收藏  举报