EasyUi的DataGrid组件扩展,统计当前页信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了EasyUi的DataGrid组件扩展,统计当前页信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3832字,纯文字阅读大概需要6分钟。
内容图文
1. [代码]使用方法
|
// 为datagrid开启统计功能
$(
‘#list‘
).datagrid({
.....
// 此处代码略
showFooter :
true
,
onLoadSuccess :
function
() {
$(
‘#list‘
).datagrid(
‘statistics‘
);
}
});
// 统计某列(参照金额列)
<table id=
"list"
>
<thead>
<tr>
<th field=
"no"
width=
"100"
>序号</th>
<th field=
"data"
width=
"100"
>日期</th>
<th field=
"money"
width=
"100"
formatter=
"formatMoney"
align=
"right"
sum=
"true"
avg=
"true"
min=
"true"
max=
"true"
>金额(元)</th>
<th field=
"status"
width=
"60"
sortable=
"true"
>有效状态</th>
</tr>
</thead>
</table>
|
|
$.extend($.fn.datagrid.methods, {
statistics:
function
(jq) {
var
opt=$(jq).datagrid(
‘options‘
).columns;
var
rows = $(jq).datagrid(
"getRows"
);
var
footer =
new
Array();
footer[
‘sum‘
] =
""
;
footer[
‘avg‘
] =
""
;
footer[
‘max‘
] =
""
;
footer[
‘min‘
] =
""
;
for
(
var
i=0; i<opt[0].length; i++){
if
(opt[0][i].sum){
footer[
‘sum‘
] = footer[
‘sum‘
] + sum(opt[0][i].field)+
‘,‘
;
}
if
(opt[0][i].avg){
footer[
‘avg‘
] = footer[
‘avg‘
] + avg(opt[0][i].field)+
‘,‘
;
}
if
(opt[0][i].max){
footer[
‘max‘
] = footer[
‘max‘
] + max(opt[0][i].field)+
‘,‘
;
}
if
(opt[0][i].min){
footer[
‘min‘
] = footer[
‘min‘
] + min(opt[0][i].field)+
‘,‘
;
}
}
var
footerObj =
new
Array();
if
(footer[
‘sum‘
] !=
""
){
var
tmp =
‘{‘
+ footer[
‘sum‘
].substring(0,footer[
‘sum‘
].length - 1) +
"}"
;
var
obj = eval(
‘(‘
+ tmp +
‘)‘
);
if
(obj[opt[0][0].field] == undefined){
footer[
‘sum‘
] +=
‘"‘
+ opt[0][0].field +
‘":"<b>当页合计:</b>"‘
;
obj = eval(
‘({‘
+ footer[
‘sum‘
] +
‘})‘
);
}
else
{
obj[opt[0][0].field] =
"<b>当页合计:</b>"
+ obj[opt[0][0].field];
}
footerObj.push(obj);
}
if
(footer[
‘avg‘
] !=
""
){
var
tmp =
‘{‘
+ footer[
‘avg‘
].substring(0,footer[
‘avg‘
].length - 1) +
"}"
;
var
obj = eval(
‘(‘
+ tmp +
‘)‘
);
if
(obj[opt[0][0].field] == undefined){
footer[
‘avg‘
] +=
‘"‘
+ opt[0][0].field +
‘":"<b>当页均值:</b>"‘
;
obj = eval(
‘({‘
+ footer[
‘avg‘
] +
‘})‘
);
}
else
{
obj[opt[0][0].field] =
"<b>当页均值:</b>"
+ obj[opt[0][0].field];
}
footerObj.push(obj);
}
if
(footer[
‘max‘
] !=
""
){
var
tmp =
‘{‘
+ footer[
‘max‘
].substring(0,footer[
‘max‘
].length - 1) +
"}"
;
var
obj = eval(
‘(‘
+ tmp +
‘)‘
);
if
(obj[opt[0][0].field] == undefined){
footer[
‘max‘
] +=
‘"‘
+ opt[0][0].field +
‘":"<b>当页最大值:</b>"‘
;
obj = eval(
‘({‘
+ footer[
‘max‘
] +
‘})‘
);
}
else
{
obj[opt[0][0].field] =
"<b>当页最大值:</b>"
+ obj[opt[0][0].field];
}
footerObj.push(obj);
}
if
(footer[
‘min‘
] !=
""
){
var
tmp =
‘{‘
+ footer[
‘min‘
].substring(0,footer[
‘min‘
].length - 1) +
"}"
;
var
obj = eval(
‘(‘
+ tmp +
‘)‘
);
if
(obj[opt[0][0].field] == undefined){
footer[
‘min‘
] +=
‘"‘
+ opt[0][0].field +
‘":"<b>当页最小值:</b>"‘
;
obj = eval(
‘({‘
+ footer[
‘min‘
] +
‘})‘
);
}
else
{
obj[opt[0][0].field] =
"<b>当页最小值:</b>"
+ obj[opt[0][0].field];
}
footerObj.push(obj);
}
if
(footerObj.length > 0){
$(jq).datagrid(
‘reloadFooter‘
,footerObj);
}
function
sum(filed){
var
sumNum = 0;
for
(
var
i=0;i<rows.length;i++){
sumNum += Number(rows[i][filed]);
}
return
‘"‘
+ filed +
‘":"‘
+ sumNum.toFixed(2) +
‘"‘
;
};
function
avg(filed){
var
sumNum = 0;
for
(
var
i=0;i<rows.length;i++){
sumNum += Number(rows[i][filed]);
}
return
‘"‘
+ filed +
‘":"‘
+ (sumNum/rows.length).toFixed(2) +
‘"‘
;
}
function
max(filed){
var
max = 0;
for
(
var
i=0;i<rows.length;i++){
if
(i==0){
max = Number(rows[i][filed]);
}
else
{
max = Math.max(max,Number(rows[i][filed]));
}
}
return
‘"‘
+ filed +
‘":"‘
+ max +
‘"‘
;
}
function
min(filed){
var
min = 0;
for
(
var
i=0;i<rows.length;i++){
if
(i==0){
min = Number(rows[i][filed]);
}
else
{
min = Math.min(min,Number(rows[i][filed]));
}
}
return
‘"‘
+ filed +
‘":"‘
+ min +
‘"‘
;
}
}
});
|
原文:http://www.cnblogs.com/lucy-12/p/5047634.html
内容总结
以上是互联网集市为您收集整理的EasyUi的DataGrid组件扩展,统计当前页信息全部内容,希望文章能够帮你解决EasyUi的DataGrid组件扩展,统计当前页信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。