1. function setTotal() {
  2. var userid = $("#hd_buildUser").val();
  3. $("#totalSum").datagrid({
  4. url: 'MediaPaySearchHandler.ashx?optype=CostTotal&userid=' + userid,
  5. loadMsg: '数据加载中,请稍后...',
  6. showFooter: true,
  7. columns: [[{
  8. field: '项目',
  9. align: 'center',
  10. title: '项目',
  11. width: 160,
  12. },
  13. {
  14. field: '已付金额',
  15. sum: 'true',
  16. align: 'right',
  17. title: '已付金额',
  18. width: 100,
  19. },
  20. ]],
  21. onLoadSuccess: function (data) {
  22. $('#totalSum').datagrid('statistics'); //合计
  23. },
  24. })
  25. }
  26.  
  27. $.extend($.fn.datagrid.methods, {
  28. statistics: function(jq) {
  29. var opt = $(jq).datagrid('options').columns;
  30. var rows = $(jq).datagrid("getRows");
  31. var footer = new Array();
  32. footer['sum'] = "";
  33. for (var i = 0; i < opt[0].length; i++) {
  34. if (opt[0][i].sum) {
  35. footer['sum'] = footer['sum'] + sum(opt[0][i].field, 1) + ',';
  36. }
  37. }
  38. var footerObj = new Array();
  39. if (footer['sum'] != "") {
  40. var tmp = '{' + footer['sum'].substring(0, footer['sum'].length - 1) + "}";
  41. var obj = eval('(' + tmp + ')');
  42. if (obj[opt[0][0].field] == undefined) {
  43. footer['sum'] += '"' + opt[0][0].field + '":"<b>合计:</b>"';//第0列显示为合计
  44. obj = eval('({' + footer['sum'] + '})');
  45. } else {
  46. obj[opt[0][0].field] = "<b>合计:</b>" + obj[opt[0][0].field];
  47. }
  48. footerObj.push(obj);
  49. }
  50. if (footerObj.length > 0) {
  51. $(jq).datagrid('reloadFooter', footerObj);
  52. }
  53. function sum(filed) {
  54. var sumNum = 0;
  55. var str = "";
  56. for (var i = 0; i < rows.length; i++) {
  57. var num = rows[i][filed];
  58. sumNum += Number(num);
  59. }
  60. return '"' + filed + '":"' + sumNum.toFixed(2) + '"';
  61. }
  62. }
  63. });
 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
方法二:

在datagrid的onLoadSuccess事件增加代码处理。

  1. jQuery easyUI datagrid 增加求和统计行
  2.  
  3. datagridonLoadSuccess事件增加代码处理。
  4.  
  5. <style type="text/css">
  6. .subtotal { font-weight: bold; }/*合计单元格样式*/
  7. </style>
  8. <script type="text/javascript">
  9. function onLoadSuccess() {
  10. //添加“合计”列
  11. $('#table').datagrid('appendRow', {
  12. Saler: '<span class="subtotal">合计</span>',
  13. TotalOrderCount: '<span class="subtotal">' + compute("TotalOrderCount") + '</span>',
  14. TotalOrderMoney: '<span class="subtotal">' + compute("TotalOrderMoney") + '</span>',
  15. TotalOrderScore: '<span class="subtotal">' + compute("TotalOrderScore") + '</span>',
  16. TotalTrailCount: '<span class="subtotal">' + compute("TotalTrailCount") + '</span>',
  17. Rate: '<span class="subtotal">' + ((compute("TotalOrderScore") / compute("TotalTrailCount")) * 100).toFixed(2) + '</span>'
  18. });
  19. }
  20. //指定列求和
  21. function compute(colName) {
  22. var rows = $('#table').datagrid('getRows');
  23. var total = 0;
  24. for (var i = 0; i < rows.length; i++) {
  25. total += parseFloat(rows[i][colName]);
  26. }
  27. return total;
  28. }
  29. </script>

easyui 表格底部加合计的更多相关文章

  1. jqgrid 在表格底部添加自定义按钮

    往往我们需要在jqgrid底部的分页行中添加一些自定义按钮,效果如下: 上图中,三个按钮均是自定义添加上的. 1.要新增自定义按钮在表格底部,仍离不开分页div,需要给jqgrid绑定分页方法 2.由 ...

  2. Bootstrap Table表格一直加载(load)不了数据-解决办法

    bootstrap-table是一个基于Bootstrap风格的强大的表格插件神器,官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 这里列出遇到的一 ...

  3. yii2 如何在页面底部加载css和js

    作者:白狼 出处:www.manks.top/article/yii2_load_js_css_in_end 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ...

  4. 滚动到底部加载更多及下拉刷新listview的使用

    最新内容建议直接访问原文:滚动到底部加载更多及下拉刷新listview的使用 本文主要介绍可同时实现下拉刷新及滑动到底部加载更多的ListView的使用. 该ListView优点包括:a. 可自定义下 ...

  5. Android中GridView滚动到底部加载数据终极版

    之前在项目中有一个需求是需要GridView控件,滚动到底部自动加载.但是呢GridView控件并不提供诸如ListView监听滚动到底部的onScrollListener方法,为了实现这样一个效果, ...

  6. datagrid-detailview.js easyui表格嵌套

    datagrid-detailview.js easyui表格嵌套

  7. easyui生成合并行,合计计算价格

    easyui生成合并行,合计计算价格 注:本文来源: 原创 一:图样你效果图 二:代码实现 1:datagrid 列展示: window.dataGrid = $("#dataGrid&qu ...

  8. 表格重新加载 where 携带上次值问题

    表格重载两种方式: 方式一: tableIns.reload(options)   注意这种方式的重载是不会携带上次数据加载时的where值     //使用 第一次渲染返回的对象 var table ...

  9. easyui的tab加载页面中的form重复提交

    http://blog.csdn.net/fxz1982/article/details/8987769 Easyui中的tabs组件以href方式加载目标页面,如果目标页面中有dialog或者win ...

随机推荐

  1. 理清cordova插件的调用流程

    从调用的角度看流程  前端调用(clobbers)——>cordova_plugins.js(clobbers对应插件id和插件文件所在的路径)—–>js部分(配置着插件的名字,已经插件里 ...

  2. C# Invoke方法

    留下备用,具体如下: Invoke()方法是U3D的一种委托机制: 1.它可以在脚本的生命周期(Start.Update.OnGUI.FixedUpdate.LateUpdate)中调用. 2.Inv ...

  3. 喵哈哈村的魔法考试 Round #17 题解

    喵哈哈村的秘境探险系列. A. 实际上就是求乘积%k是否等于0,显然 a * b % k = (a%k)*(b%k)%k,所以边乘边取模就好了. #include<bits/stdc++.h&g ...

  4. .net 企业管理系统快速搭建框架

          简言   本人在博客园注册也2年多了,一直没有写自己的博客,因为才疏学浅一直跟着园子里的大哥们学习这.net技术.一年之前跳槽到现在的公司工作,由于公司没有自己一套的开发框架,每次都要重新 ...

  5. 第二章 flex输入输出结构

    对于一个词法分析程序,一般读取文件或者终端 一个默认lex程序大致看上去像这样 YY_BUFFER_STATE bp; extern FILE* yyin; ... whatever the prog ...

  6. ASP.NET Web API实现缓存的2种方式

    在ASP.NET Web API中实现缓存大致有2种思路.一种是通过ETag, 一种是通过类似ASP.NET MVC中的OutputCache. 通过ETag实现缓存 首先安装cachecow.ser ...

  7. 关于iphone6/5/4s 在iOS8.0系统下 仅仅读@3x图片

    做iphone6和plus适配时候发现一个问题,先来看图(一下讨论所有在真机下完毕,非模拟器) 128*750图片是  nav@2x.png watermark/2/text/aHR0cDovL2Js ...

  8. grid - 网格项目跨行或跨列

    默认情况下网格项目跨度只有一个列和行,但可以跨越多个行和列. 1.可以通过设置grid-column-end和grid-column-start距离多个网络线号实现多个列跨越. <view cl ...

  9. sqlserver修改主键为自增

    使用PowerDesigner创建一张表, 拷贝建表语句发现ID不是自增的, 以下是修改语句: ALTER TABLE USER_JOB_EXE_REC DROP COLUMN id; , ); 注: ...

  10. Docker linux安装

    Ubuntu下安装 sudo wget -qO- https://get.docker.com/  | shsudo usermod -aG docker imooc Centos7下安装 CentO ...