我有这个jqgrid定义:
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);
}
});
问题是网格以这种方式出现:
如您所见,组使用不同的子节点多次出现。这很好,但是,为什么分组不会将同一组下的所有元素分组?
为网格提供信息的JSON格式正确,所以它与此处显示无关,除非它非常大。
答案 0 :(得分:0)
您需要修复创建JSON的服务器端代码,以便将所有相关行保存在一起。 jqGrid
不对数据重新排序,只要此列发生更改,它就会启动一个新组。
在SQL查询中使用ORDER BY inventariotipo
可以解决问题。