2

私は問題があります...

一部のデータを表示する jqgrid がありますが、列は動的です。グリッドはうまく動作します。これは私のコードです:

...
var colMode = [];
...
var columnas = data.d;
$.each(columnas, function (index, col) {
...
colMode.push({ name: col.ColumnName, index: col.ColumnName, width: '100%', align: 'right' });
...
$("#gridCalendario").jqGrid({
                datatype: function (pdata) { getData(pdata); },
                height: 'auto',
                colModel: colMode,
....

問題は、フッターにデータを表示したいのですが、列の名前を動的に示す方法がわからないため、これができません。次のコードは、私がそれをやろうとしている方法を示しています:

    function sumarValores() {

        var sumaHa = 0;

        var columnNames = jQuery("#gridCalendario").jqGrid('getGridParam', 'colNames');

        $('#gridCalendario').jqGrid('footerData', 'set', { Items: 'TOTAL:' });

        for (var z = 0; z < columnNames.length; z++) {
            var colN = columnNames[z];
            $('#gridCalendario').jqGrid('footerData', 'set', { colN: parseFloat(sumaHa).toFixed(2) });
        }
    }

誰か助けてくれませんか?

4

1 に答える 1

1

私は次の機能で問題を解決しました:

    function sumarValores() {

        var sumaHa = 0;

        var columnNames = jQuery("#gridCalendario").jqGrid('getGridParam', 'colNames');

        $('#gridCalendario').jqGrid('footerData', 'set', { Items: 'TOTAL CUENTA:' });

        for (var z = 0; z < columnNames.length; z++) {
            var colN = columnNames[z];

            var obj = '[{"' + colN + '": "' + parseFloat(sumaHa).toFixed(2) + '"}]';

            var colFoot = JSON.parse(obj);

            $('#gridCalendario').jqGrid('footerData', 'set', colFoot[0]);

        }

    }
于 2013-04-03T18:13:19.817 に答える