2017-12-23 7 views
0

ich diese jqGrid Definition haben:jqGrid Gruppierung funktioniert nicht wie es sollte

var columnas = [ 
        { label: 'Localidad', name: 'InventarioLocalidad', width: 120 }, 
        { label: 'Empresa', name: 'InventarioEmpresa', width: 120 }, 
        { label: 'Tipo', name: 'InventarioTipo', width: 120 }, 
        { label: 'Número Serie', name: 'InventarioNumSerie', width: 120 }, 
        { label: 'Marca', name: 'InventarioMarca', width: 120 }, 
        { label: 'Modelo', name: 'InventarioModelo', width: 120 }, 
        { label: 'En Uso', name: 'InventarioEnUso', width: 80, formatter: booleanFmatter }, 
        { label: 'RUT', name: 'InventarioRutUsuario', width: 100 }, 
        { label: 'Usuario', name: 'InventarioNombreUsuario', width: 120 }, 
        { label: 'Status', name: 'InventarioStatus', width: 80 }, 
        { label: 'Fecha', name: 'InventarioFecha', width: 100, formatter: 'date', formatoptions: { srcformat: "ISO8601Long", newformat: "d/m/Y" } }, 
        { label: 'Hora', name: 'InventarioHora', width: 80, formatter: 'date', formatoptions: { srcformat: "ISO8601Long", newformat: "d/m/Y" } }, 
        { label: 'Fecha Carga', name: 'InventarioFechaCarga', width: 130, formatter: 'date', formatoptions: { srcformat: "ISO8601Long", newformat: "d/m/Y" } } 
      ]; 

var grid = $('#gridReporteConAnalisis'); 
      grid.jqGrid({ 
       url: urlGrid, 
       mtype: "GET", 
       datatype: "json", 
       colModel: columnas, 
       viewrecords: true, 
       shrinkToFit: false, 
       autowidth: false, 
       multiselect: false, 
       rowNum: 20, 
       rowList: [10, 20, 30], 
       gridview: true, 
       pager: pagerName, 
       sortname: "InventarioTipo", 
       sortorder: "asc", 
       grouping: true, 
       groupingView: { 
        groupField: ['InventarioTipo'], 
        groupDataSorted: true, 
        groupColumnShow: [false], 
        groupOrder: ['asc'] 
       }, 
       loadError: function (xhr, status, error) { 
        checkUserSession(xhr); 
       }, 
       beforeRequest: function() { 
        var $PANEL = $('#pnlGridConAnalisis') 
        $FOOTER = $('footer'); 

        grid.jqGrid('setGridWidth', $PANEL.width()); 

        // 125 = otros altos, como paddings y la fila de paginación 
        grid.jqGrid('setGridHeight', $FOOTER.offset().top - $PANEL.offset().top - 125); 
       } 
      }); 

Das Problem Gitter ist erscheint auf diese Weise:

Grouping result

Wie Sie sehen können, Gruppen erscheinen mehrmals mit verschiedene Kindknoten. das ist gut, aber warum Gruppierung gruppiert nicht alle Elemente unter der gleichen Gruppe?

JSON, der das Gitter einspeist, ist gut geformt, so dass es nicht relevant ist, hier zu zeigen, außerdem ist es sehr groß.

+0

Ich denke, Sie müssen sicherstellen, dass alle Zeilen in einer Gruppe zusammen in den JSON-Daten sind. Verwenden Sie 'ORDER BY inventaritipo 'in Ihrer SQL-Abfrage. – Barmar

Antwort

0

Sie müssen den serverseitigen Code beheben, der JSON erstellt, damit alle zugehörigen Zeilen zusammengehalten werden. jqGrid reorganisiert die Daten nicht, es startet nur eine neue Gruppe, wenn sich diese Spalte ändert.

Mit ORDER BY inventariotipo in der SQL-Abfrage sollte das Problem lösen.

+0

macht es Sinn ... aber nachdem du es erwähnt hast :-) – jstuardo

Verwandte Themen