Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Jqgrid中筛选记录的FooterRow摘要值未更改_Asp.net_Jqgrid - Fatal编程技术网

Asp.net Jqgrid中筛选记录的FooterRow摘要值未更改

Asp.net Jqgrid中筛选记录的FooterRow摘要值未更改,asp.net,jqgrid,Asp.net,Jqgrid,我有一个函数,可以计算特定列的摘要并将其加载到网格的页脚中 $(function () { var gridData = null; var nn = null; grid = $("#gridId"), calculateTotal = function () { var gridData = grid.jqGrid('getGridParam', 'data'),

我有一个函数,可以计算特定列的摘要并将其加载到网格的页脚中

$(function () {
            var gridData = null;
            var nn = null;

            grid = $("#gridId"),
            calculateTotal = function () {
                var gridData = grid.jqGrid('getGridParam', 'data'),
                i = 0, totalAmount = 0, totalduration = 0;

                for (; i < gridData.length; i++) {
                    var rowData = gridData[i];
                    totalAmount += Number(rowData.price);
                    totalduration += Number(rowData.duration);
                }
                grid.jqGrid('footerData', 'set', { name: "TOTAL", duration: totalduration, price: totalAmount });
            };
        });
但是在从筛选工具栏筛选记录时,页脚行的摘要值保持不变。。。 我需要更新的摘要值在页脚从过滤器工具栏过滤或搜索后

任何帮助都将不胜感激。
Thnx prevance.

您可以使用
grid.jqGrid('getGridParam','data')
计算页脚行(摘要行)的值。如果您需要独立于所使用的过滤器访问所有页面中的所有本地数据,那么这是很实用的。如果您需要从当前显示的数据页面计算摘要(并应用过滤器),则应使用
grid.jqGrid('getRowData')

Thanx sir用于您的响应…我在函数var gridData=grid.jqGrid('getRowData')中进行了更改但它只计算页面摘要,而过滤器也不是working@Ram当前位置您似乎有非常特殊的要求。要访问页面上的所有筛选数据,您可以使用我在中描述的方法。摘要用于当前页面数据,而我需要筛选后页脚中所有页面的摘要。sir用于您的响应。sir我希望页脚中的摘要在网格的筛选记录中得到更改……这是我的要求。@Ram:查找我以前提到过。如果允许您访问
数据的过滤部分
参数(过滤对应于应用的最后一个过滤器)。你应该能够用这种方法解决你的问题。
$.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);

                $("#gridId").jqGrid({
                    data: gridData,
                    datatype: "local",
                    height: '100%',
                    autowidth: true,
                    ignoreCase: true,
                    rowNum: 50,
                    rowList: [50, 100, 200],
                    colNames: ['UserName',  'Duration', 'Destination', 'Price'],
                    colModel: [
                            { name: 'username', index: 'username', width: 100, sortable: true, align: 'center' },
                            { name: 'duration', index: 'duration', width: 100, sortable: true, align: 'center' },
                            { name: 'destination', index: 'destination', width: 100, sortable: true, align: 'center' },
                            { name: 'price', index: 'price', width: 100, sortable: true, align: 'center', formatter: 'currency' }

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


                });