如何在页脚行上本地计算jqgrid列的总和

时间:2013-02-11 04:27:23

标签: javascript jquery asp.net ajax jqgrid

将我的数据库显示到jqgrid之后我需要添加需要计算特定列总和的摘要页脚行。我在本地填充Jqgrid。我还添加了Jqgrid过滤器过滤数据。根据我的需要我希望我的摘要页脚在从jqgrid过滤器工具栏过滤数据时更改...

这是我的代码:

$(function () {
var gridData = null;
var nn = null;
$.ajax({
    url: 'Default.aspx/MyMethod',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    type: 'POST',
    success: function (ReportDataNew, textStatus, XMLHttpRequest) {
        gridData = JSON.parse(ReportDataNew.d);
        console.log(gridData);

        $("#gridId").jqGrid({
            data: gridData,
            datatype: "local",
            height: '100%',
            autowidth: true,
            ignoreCase: true,
            rowNum: 100,
            rowList: [100, 200, 300],
            colNames: ['UserName', 'Ordinal', 'Extension', 'Trunk', 'Dialnumber', 'DialDate', 'DialTime', 'Duration', 'Destination', 'Price'],
            colModel: [
                       { name: 'username', index: 'username', width: 100, sortable: true, align: 'center' },
                       { name: 'ordinal', index: 'ordinal', width: 100, sortable: true, align: 'center' },
                       { name: 'price', index: 'price', width: 100, sortable: true, align: 'center'}
                      ]

我需要计算price

的总和

2 个答案:

答案 0 :(得分:0)

在您定义本地数据时,您可以包含一个包含将在页脚中显示的userdata信息的段。在将数据传递给网格之前,您可以计算将在这些变量中传递的值。

userdata:

之前
 userdata = new { colOneName = "Totals:", colTwoName = totalsVariableFromLocalCalculation}

然后在您的网格中,您将通过

打开页脚
        footerrow: true,
        userDataOnFooter: true,

答案 1 :(得分:0)

将以下代码放入jqGrid以计算价格总和:

footerrow:true,
loadComplete : function(){
var $grid = $("your grid id");
var colSum = $grid.jqGrid('getCol','price',false,'sum');
$grid.jqGrid('footerData','set',{price : colSum});
}