【问题标题】:How to add two footer row in jqgrid using userdata?如何使用userdata在jqgrid中添加两个页脚行?
【发布时间】:2013-11-04 12:02:15
【问题描述】:

我正在使用这个 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":{"total":1234,"name":"Totals"}

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

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

但不起作用。是否可以使用“userdata”添加两个页脚行?我该怎么做?

【问题讨论】:

标签: jqgrid


【解决方案1】:

您可以使用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 的信息。

【讨论】:

  • 谢谢奥列格。我快完成了:D 但是有一件事,当我创建第二行时,我必须像这样逐字段填充它:“ $newFooterRow.find(">td[aria- describeby=" + this.id + " _invdate]").text("总计:"); " ?
  • @GiacomoSavioli:不客气!对不起,但我不明白你的问题。我的演示中的网格有name: "invdate" 的列。所以我使用选择器">td[aria-describedby=" + this.id + "_invdate]" 填充第二行invdate 列中的单元格。您需要将选择器的 invdate 部分替换为您使用的 colModel 中的另一个名称。
  • 对不起,我没有解释清楚。为了填充第一行,我使用了 $this.jqGrid("footerData", "set", data[0]);我想填充第二行,我可以使用这样的东西。但我做不到,所以我使用了: $newFooterRow.find(">td[aria- describeby=" + this.id + "_VRKME]").text(data[i].VRKME);对于每一列。另一个问题,是否可以添加n页脚行?
  • @GiacomoSavioli:对不起,我还是不明白你现在的问题。您现在是否可以成功添加第二个页脚并填充它,或者您仍然有一些问题?
  • 我解决了这个问题,现在我将添加 2 页脚行。但是,将来,我可能需要添加 2-3-4..n 页脚行。有可能吗?
猜你喜欢
  • 2012-11-21
  • 2011-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2021-03-01
  • 1970-01-01
相关资源
最近更新 更多