jqgrid
2013-11-04 69 views 1 likes 
1

我用這jqGrid的如何使用userdata在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」添加兩個頁腳行?我怎樣才能做到這一點?

+0

請參閱http://stackoverflow.com/questions/13697523/how-to-create-two-footer-rows-in-jqgrid/13703037#13703037 –

回答

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

+0

謝謝奧列格。我差不多完成了:D但是有一件事,當我創建第二行時,我必須按如下方式逐個填寫它:「$ newFooterRow.find(」> td [aria-describedby =「+ this.id +」 _invdate]「)。text(」Grand Total:「);」? –

+0

@GiacomoSavioli:不客氣!對不起,但我不明白你的問題。我的演示中的網格具有名稱爲「invdate」的列。所以我使用選擇器'>> td [aria-describedbyby =「+ this.id +」_invdate「」'來填充第二行中的列「invdate」中的單元格。您需要用您使用的'colModel'中的另一個名稱替換選擇器的'invdate'部分。 – Oleg

+0

對不起,我沒有解釋清楚。填充第一行我使用$ this.jqGrid(「footerData」,「set」,data [0]);我想填補第二排,我可以使用這樣的東西。但我不能,所以我用:$ newFooterRow.find(「> td [aria-describedby =」+ this.id +「_VRKME]」).text(data [i] .VRKME);爲每列。另一個問題是,是否可以添加n個頁腳行? –

相關問題