PHP jqGrid页脚总和列只对当前页面求和

时间:2014-08-23 03:41:25

标签: php jqgrid

这是我的jqgrid footerrow代码

loadComplete: function() {
            var debit = $("#myDataList").jqGrid('getCol', 'debit', false, 'sum');
            $("#myDataList").jqGrid('footerData', 'set', {category: 'Total:', debit: debit});
            var credit = $("#myDataList").jqGrid('getCol', 'credit', false, 'sum');
            $("#myDataList").jqGrid('footerData', 'set', {category: 'Total:', credit: credit});
        }

我想暨两个列值借记和贷记,我现在的问题是总价值只是总结当前页面而不是全部。

1 个答案:

答案 0 :(得分:1)

如果您将datatype: "local"datatype: "json"datatype: "xml"loadonce: true一起使用,则会更多,因为一页数据将在网格中本地保存。 $(this).jqGrid("getGridParam", "data")可以访问数据数组。因此,您可以枚举所有内部数据项,并计算"debit""credit"列中所有元素的总和。然后你可以使用

$(this).jqGrid("footerData", "set", {
    category: "Total:",
    debit: debit,
    credit: credit
});

The answerthis one包含非常接近工作的代码片段。在你的情况下,它将是关于以下代码(我没有测试它):

loadComplete: function () {
    var $self = $(this),
        localData = $self.jqGrid("getGridParam", "data"),
        itemCount = localData.length,
        totalCredit = 0,
        totalDebit = 0,
        i,
        item;

    for (i = 0; i < itemCount; i++) {
        item = localData[i];
        totalCredit += parseFloat(litem.credit);
        totalDebit += parseFloat(litem.debit);
    }

    $self.jqGrid("footerData", "set", {
        category: "Total:",
        debit: totalDebit,
        credit: totalCredit
    });
}