jQuery easyui怎么获取datagrid某一列的值之和呢?

时间:2021-11-22 16:20:38
我想实现的功能就是加载datagrid之和能够计算出某一列的值之和,删除某一行数据的时候会从总数里面减去这列这行的数据,新增一条记录的时候也会把这个数据加在总数上面。。说起来不知道能不能被人理解。。。 求大神帮忙。。

下面是部分代码。。 有些代码已经省略了。。  怎么获取“我是那个数”的所有列的值的和呢?? 和删除增加那列数据呢


$(function() {
$('#content').datagrid( {
toolbar : [ {
text : '新增',
iconCls : 'icon-add',
handler : function() {
...
 
}
} ],
iconCls : 'icon-save',
width : '1000',
height : 'auto',
nowrap : false,
striped : false,
url : ".....",
remoteSort : false,
loadMsg : '正在加载数据....请稍候....',
fitColumns : true,
columns : [ [ {
field : 'id',
title : '我是那个数',
align : 'left',
width : 100,
sortable : true
},{
field : 'qqq',
title : '操作',
align : 'left',
width : 100,
sortable : true,
formatter : function(obj,row) {
return method("del"," 删除 ",row.id);
}
}] ],
onSelect : function() {
$(this).datagrid('clearSelections');
},
singleSelect : true,
pagination : true,
rownumbers : true
});

6 个解决方案

#1


做成一个函数,onloadsuccess事件,添加删除后执行一次那个函数就好了


    function compute() {
        var rows = $('xxxx').datagrid('getRows')//获取当前的数据行
        var total = 0;
        for (var i = 0; i < rows.length; i++) {
            total += rows[i]['你的字段名称'];
        }
        alert(total)
    }

#2


引用 1 楼 showbo 的回复:
做成一个函数,onloadsuccess事件,添加删除后执行一次那个函数就好了


    function compute() {
        var rows = $('xxxx').datagrid('getRows')//获取当前的数据行
        var total = 0;
        for (var i = 0; i < rows.length; i++) {
            total += rows[i]['你的字段名称'];
        }
        alert(total)
    }


onloadsuccess事件具体怎么执行这个compute() 方法呢?  我是jQueryeasyui新手。。求具体语法 谢谢!!

#3


$('#xxx').datagrid({onLoadSuccess:compute/*.......其他配置........*/})


楼主多去看下API,这个是datagrid的事件

#4


引用 3 楼 showbo 的回复:
$('#xxx').datagrid({onLoadSuccess:compute/*.......其他配置........*/})


楼主多去看下API,这个是datagrid的事件


我看过API。。上面只有写有这个方法 但是没有写语法怎么写....
我这样写还是不行啊... 页面数据加载不出来了..原谅我是个jQueryeasyui新手...求指教..
function jisuanbl()
{
var rows=$('#content').datagrid('getRows');
var va=0;
 for(var i=0;i<rows.length;i++)
 {  
 va+=rows[i].rate; 
 
 }
alert(va);
}
$('#content').datagrid({onLoadSuccess:jisuanbl});

#5


不是有其他的配置,你写在DOM里面没有,如果不在dom里面你要用js给配置好,而且要放到dom事件加载完毕事件里面执行,这些都是基础的

#6


http://www.jeasyuicn.com/api/
手册做菜单"Documentation"中的的内容详细解释了,属性、事件、方法的使用方式。可参考下。

#1


做成一个函数,onloadsuccess事件,添加删除后执行一次那个函数就好了


    function compute() {
        var rows = $('xxxx').datagrid('getRows')//获取当前的数据行
        var total = 0;
        for (var i = 0; i < rows.length; i++) {
            total += rows[i]['你的字段名称'];
        }
        alert(total)
    }

#2


引用 1 楼 showbo 的回复:
做成一个函数,onloadsuccess事件,添加删除后执行一次那个函数就好了


    function compute() {
        var rows = $('xxxx').datagrid('getRows')//获取当前的数据行
        var total = 0;
        for (var i = 0; i < rows.length; i++) {
            total += rows[i]['你的字段名称'];
        }
        alert(total)
    }


onloadsuccess事件具体怎么执行这个compute() 方法呢?  我是jQueryeasyui新手。。求具体语法 谢谢!!

#3


$('#xxx').datagrid({onLoadSuccess:compute/*.......其他配置........*/})


楼主多去看下API,这个是datagrid的事件

#4


引用 3 楼 showbo 的回复:
$('#xxx').datagrid({onLoadSuccess:compute/*.......其他配置........*/})


楼主多去看下API,这个是datagrid的事件


我看过API。。上面只有写有这个方法 但是没有写语法怎么写....
我这样写还是不行啊... 页面数据加载不出来了..原谅我是个jQueryeasyui新手...求指教..
function jisuanbl()
{
var rows=$('#content').datagrid('getRows');
var va=0;
 for(var i=0;i<rows.length;i++)
 {  
 va+=rows[i].rate; 
 
 }
alert(va);
}
$('#content').datagrid({onLoadSuccess:jisuanbl});

#5


不是有其他的配置,你写在DOM里面没有,如果不在dom里面你要用js给配置好,而且要放到dom事件加载完毕事件里面执行,这些都是基础的

#6


http://www.jeasyuicn.com/api/
手册做菜单"Documentation"中的的内容详细解释了,属性、事件、方法的使用方式。可参考下。