Extjs GridPanel在有分页的情况下服务端统计合计实现方式

1、应用场景

在有分页的时候计算合计就不能采用Extjs gridpanel 提供的ftype: summary方式解决,否则只计算当前页的合计(因为数据只提取了当前页);

2、解决办法

重写Ext.grid.feature.Summary中的generateSummaryData函数

//方法一,临时重写

Ext.grid.feature.Summary.override({

generateSummaryData:function(){

return this.view.store.getProxy().reader.rawData[this.remoteRoot];

}

});

//方法二,定义类重写,以便其他模块引用(requires)

Ext.define(‘Ux.override.grid.feature.Summary‘,{

override:‘Ext.grid.feature.Summary‘,

generateSummaryData:function(){

return this.view.store.getProxy().reader.rawData[this.remoteRoot];

}

});

3、Grid配置

features: [{

ftype: ‘summary‘,

remoteRoot: ‘summary‘//后台提供数据的路径

}]

4、column配置

{

text: "管线名称", dataIndex: "GXMC",width:120,

summaryRenderer: function (value, summaryData, dataIndex) {

return ‘(‘ + value + ‘ 项)合计:‘;

}

},

{ text: "预算(万元)", dataIndex: "YXJE", width:120,summaryRenderer: rendernum(value) {

if (value) {

return Ext.util.Format.number(value, ‘0.####‘);

}

return ‘‘;

}

}

5、后台提供数据格式,在原来数据格式上添加,路径可自定,与此相配合 remoteRoot: ‘summary‘//后台提供数据的路径

"summary": {

"YXJE": 80114.5575,

"GXMC": 1081

}

后感:

Ext.grid.feature.Summary 这个类在API中并没有remoteRoot配置项,但是通过查看EXTJS源码,发现已经实现了此配置项,但没有实现generateSummaryData方法,

其实EXTJS把这个服务端统计的功能已经几乎实现完了,但就差最后一小步了,所以大家在学习EXTJS的时候还是需要去了解源码实现的;

备注:在Extjs5.1下测试通过,谢谢。

时间: 2024-10-25 12:50:08

Extjs GridPanel在有分页的情况下服务端统计合计实现方式的相关文章

一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?

我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.91160.com,    这个服务是供前端页面调用: 近期发现,这2台服务器的网络连接中,TIME_WAIT 数量差别很大,201的TIME_WAIT大概20000+,202的TIME_WAIT大概1000 ,差距20倍:2台的请求量差不多,都是以上内部调用的连接,且服务模式也没有什么差异,为什么连接数

Android ListView分页加载(服务端+android端)Demo

Android ListView分页加载功能 在实际开发中经常用到,是每个开发者必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了测试. 服务端使用MyEclipse,Android端使用Eclipse. 实现效果图: 服务端一共100条数据,共分四页,每页有25条数据. 源代码: 服务端: 需要导入图中这几个jar包. 在运行Android端代码前,需要开启服务端: 下面先给出服务端的代码: 类EmpDataSource: package com.android

没有USB线连接PC的情况下,通过WIFI ADB的方式查看LOG信息

最近公司给了一项任务,APP需要手机外置一个USB摄像头,这下造成的问题就是,手机外置了其他USB设备后,手机不能与PC连接,也就不能在PC端通过Eclipse等查看Log信息,调试起来特别麻烦,因为即使程序蹦了,你看不到Log也不知道程序崩溃的原因. 正好有一个同事是搞linux底层的,他说可以通过wifi adb的方式来查看log.意思就是手机通过wifi与PC端处于同一网段内,然后用adb命令远程连接手机,然后就可以无线查看手机端的log信息了. 这种方式需要一个必要条件: 手机端要与PC

Oracle下服务端字符集修改

在Oracle下客户端中设置的字符集应于服务端保持一致,否则会出现乱码,而Oracle的客户端无论是在Windows/DOS系统下还是Unix系统下都可以通过环境变量NLS_LANG来加以控制,至于操作也很简单,在这里就不做过多的说明,在这里主要说一下如何在Oracle的服务端下如何正确的修改字符集.在修改的时候建议使用sysdba身份验证,要注意的是新修改的字符集必须为旧字符集的超集,不然Oracle上修改字符集会报ORA-12712错误.而在平时可以查询系统视图得知当前Oracle数据库中的

git 在linux下服务端搭建

本文以centos为例,其他linux请自行参照对应方式. 1. 服务端安装git yum install git 2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户 useradd -s /sbin/nologin username 3. 初始化仓库 git init --bare sample.git 4. 在客户端,也就是gitbash(windows用户)生成密钥和公钥,邮箱地址改为你自己的,当然后面的两个 -t  和 -C 参数可以不要. ssh-keyg

不使用spring的情况下原生java代码两种方式操作mongodb数据库

由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置文件的密码,而实际上这个密码在代码中根本就没有使用,他们在代码中已经把用户验证信息写死.   在协助他们解决这个问题的时候,我看到他们代码中在和mongodb数据库交互时使用了已经不被建议使用的方法,于是便抽时间尝试了一下另一种被建议的方式实现各功能.   当然了,生产环境中用的是mongodb集群

Extjs GridPanel用法详解

Extjs GridPanel 提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择.编辑等.在之前的Extjs MVC开发模式详解中,我们已经使用到了GridPanel,今天我们来介绍一下Extjs中GridPanel的详细用法. 本文的示例代码适用于Extjs 4.x和Extjs 5.x,在Extjs 4.2.1 和Extjs 5.0.1中亲测可用! 本文由齐飞([email protected])原创,并发布在http://www.qeefee.com/

WCF服务在高并发情况下报目标积极拒绝的异常处理 z

http://www.cnblogs.com/kklldog/p/5037006.html wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好好的活着.于是开始查原因. 一般来说目标积极拒绝(TCP 10061)的异常主要是2种可能: 1:服务器关机或者服务关闭 2:Client调用的端口错误或者服务器防火墙没开相应的端口 但是我们的服务本身是可以调用的,只是偶尔报这个错误,说明并不是这2个问题造成的.继续google,在stackove

关于WCF服务在高并发情况下报目标积极拒绝的异常处理

最近弄了个wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好好的活着.于是开始查原因. 一般来说目标积极拒绝(TCP 10061)的异常主要是2种可能: 1:服务器关机或者服务关闭 2:Client调用的端口错误或者服务器防火墙没开相应的端口 但是我们的服务本身是可以调用的,只是偶尔报这个错误,说明并不是这2个问题造成的.继续google,在stackoverflow上看到这样一篇:传送门 1 2 3 4 5 6 7 8 9 10 11