如何使用userdata在jqgrid中添加两个页脚行?

时间:2013-11-04 12:02:16

标签: jqgrid

我正在使用这个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”添加两个页脚行?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用my old answer作为所需解决方案的基础。它显示了如何在页脚中添加两行。

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

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

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