1

我正在使用这个 jqgrid

        $("#griglia-navgrid").jqGrid( { 
        url: 'search.do?report='+r,
        datatype: "json",
        colNames:[ ...    ],              
            colModel:[ ...    ],
            rowNum:50,
        rowList:[20,50,100],
        pager: '#pager',
        autowidth:true,
        height:'auto',
            viewrecords: true,
        sortname: "MATNR",
            sortorder: "asc",
            footerrow : true,
            userDataOnFooter: true, 
            jsonReader: {
                root:"INVDATA",
                page: "CURRPAGE",
                total: "TOTALPAGES",
                records: "TOTALRECORDS",
                repeatitems: false,
                id: "0",
                userdata: "USERDATA",
            }
        }); //jqGrid

在服务器端,我计算总数并像这样使用“userdata”:

"userdata":{"total":1234,"name":"Totals"}

它的作品。现在我需要显示总计的 2 页脚行。我尝试这样的事情:

"userdata":[{"total":1234,"name":"Totals"},{"total":5678,"name":"Totals"}]

但不起作用。是否可以使用“userdata”添加两个页脚行?我怎样才能做到这一点?

4

1 回答 1

0

您可以使用我的旧答案作为您需要的解决方案的基础。它显示了如何在页脚中添加两行。

如果您检查 jqGrid 的源代码以了解userDataOnFooter选项的用法,您会发现在使用情况下datatype: "json"它只有一行代码:

if(ts.p.userDataOnFooter) { self.jqGrid("footerData","set",ts.p.userData,true); }

所以 jqGrid 只是获取userData参数的值(userdata来自服务器的 JSON 响应中的)并将其用作footerData方法的参数。因此,您可以删除userDataOnFooter选项并使用上面引用的答案中描述的方法在页脚中添加两行,其中包含来自userData.

于 2013-11-04T13:10:23.543 回答