2017-09-10 1 views
0

Derzeit verwende ich Gruppe und Seitenumbruch in jqgrid. Die Daten sind lang und jede Gruppe könnte in jqgid einige Seiten überschreiten. Ich verwende die Gruppensumme und es scheint, dass die Gruppensumme auf jeder Seite und die Berechnungs (summ) basis auf der vorhandenen Zeile auf der aktuellen Seite existiert. In meinem Anwendungsfall ist es irreführend, ich möchte die Gruppensumme nach der letzten Zeile jeder Gruppe anzeigen. Ich verwende Version v5.1.1 (Guriddo jqGrid JS) Ist es erreichbar?Machen Sie jqgrid zeigen nur einzelne Gruppe Fußzeile in der letzten Zeile in der Gruppe

$grid.jqGrid({ 

      data: dataarray, 
      datatype: 'local', 
      height: 'auto', 
      width: '100%', 
      viewrecords: true, 
      sortable: true, 
      loadonce: true, 
      colNames: columnarray, 
      colModel: columnmodelarray, 
      rownumbers: true, 
      grouping: true, 

      rowNum: 20, 
      gridview: true, 
      regional : 'en', 
      autowidth:true, 
      shrinkToFit:false, 
      rowList: [20, 50, 100, 200,400,999999999999],   
      userDataOnFooter: true, 
      footerrow:true, 
      sortname:sortname, 
      sortorder:sortorder, 
      colMenu : true, 

      pager: pagerid, 
      groupingView:groupviewjsondata, 
      loadComplete:function() 
      { 
       //calculate total to put at bottom 
       var columncontent={}; 
       var i=0; 
       var lastcolumn=''; 

       var isshownumber=0; 

       $.each(colmodels,function(colno,colobj) 
       { 
        if(colobj.datatype=='number' && colobj.withtotal == true) 
        { 
         var tmptotal=0; 
         $.each(rp.result.data,function(row_id,row) 
         { 
          if(typeof row[ colobj['name']] =='string') 
          { 
           row[ colobj['name']]=parseFloat(row[ colobj['name']]); 
          } 

          tmptotal += row[ colobj['name']]; 
         }); 
         columncontent[colobj['name']]=tmptotal; 
         isshownumber++; 

        } 
        if(isshownumber==1) 
        {      
         columncontent[lastcolumn]='<div style="text-align:right">'+lang('Total')+'</div>';      
        } 
        if((colobj.datatype=='date' || colobj.datatype=='string')&& (colobj.hidden===undefined ||colobj.hidden==false)) 
        { 
         lastcolumn=colobj['name']; 
        } 

       }); 

       $grid.jqGrid('footerData','set',columncontent); 

      } 
     }); 
+0

Können Sie bitte die groupingView- und colModel-Einstellungen posten? Wie aus [dieser Demo] (http://www.guriddo.net/demo/guriddojs/grouping/summary/index.html) ersichtlich ist, ist die Summe der Gruppe nicht pro Seite (wie du feststellst), sondern für die Ganze Gruppe. Hier –

+0

ist Beispiel: 'defaultgroupview = { \t \t \t \t \t groupField: [ "Konten"], \t \t \t \t \t groupColumnShow: [false], \t \t \t \t \t Group: [“ Konto-Code - Name: {0} "], \t \t \t \t \t groupOrder: [" asc "], \t \t \t \t \t groupSummary: [true], \t \t \t \t} ' –

+0

Kurzcode von Säulen-Modell: ' [{ "name": "document_date", "Index": "document_date", "Datentyp":“ datum "," width ": 80," colmenu ": true," coloptions ": {}," sorttype ":" datum "," formatter ":" datum "," formatoptions ": {" srcformat ":" ISO8601Long " , "neues Format": "dmY"}, "Titel": "Doc. Datum "}, {" name ":" bpartners "," index ":" bpartners "," datentyp ":" string "," breite ": 100," colmenu ": true," coloptions ": {}," sorttype ":" text "," align ":" links "," title ":" Geschäftspartner "}, {" name ":" document_no "," index ":" document_no "," datatype ":" string " , "width": 100, "colmenu": true, "coloptions": {}, "Sortiertyp": "text", "align": "left", "title": "Doc. Nein. "}, .....];' –

Antwort

0

Bitte überprüfen this demo - die Summe nicht pro Seite, aber pro Gruppe den Gruppenwert AROUT sehen. Das Einzige, was ich denken kann ist, dass Sie die Daten dynamisch pro Seite (vom Server mit Paging) und nicht sofort bereitstellen - in diesem Fall ist es so, wie Sie es beschreiben

Verwandte Themen