0

ハイガイズ!! 列の概要を表示するために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) {
        //debugger;
        gridData = JSON.parse(ReportDataNew.d);
        console.log(gridData);
        //alert(gridData.length);

        grid = $("#gridId"),
            calculateTotal = function () {
                var totalAmount = grid.jqGrid('getCol', 'price', false, 'sum');
                grid.jqGrid('footerData', 'set', { name: 'TOTAL', price: totalAmount });
            };

そして、ここでグリッドにデータを入力しています...

 $("#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: 'price', index: 'price', width: 100, sortable: true, align: 'center'}

                      ],
            pager: '#gridpager',
            viewrecords: true,
            toppager: true,
            loadtext: 'Loading...',
            footerrow: true,
            userDataOnFooter: true,
            gridComplete: function () {
                calculateTotal();
            }
4

1 に答える 1

-1

サーバー側で合計を計算している場合は、おそらくページ化された結果で計算しています。現在表示されているページで jqGrid に渡されている部分だけでなく、レコード セット全体を含めるように計算を拡張します。

于 2013-02-11T14:28:03.230 に答える