我在这里提供了代码:https://jsfiddle.net/zqLp4yrg/41/
数据类型是“本地”而不是json。
$("#jqGrid").jqGrid({
url: "/echo/json/", // use JSFiddle echo service
postData: {
json: JSON.stringify(serverResponse) // needed for JSFiddle echo service
},
mtype: "POST", // needed for JSFiddle echo service
datatype: "json",
colModel: [
{ label: 'CatId', name: 'CatId', key: true, width: 30 },
{ label: 'InventoryDate', name: 'InventoryDate', width: 70 },
{ label: 'ProductName', name: 'ProductName', width: 150 },
{ label: 'RemainingQuantity', name: 'RemainingQuantity', width: 150, summaryType: 'sum', sortable: true }
],
iconSet: "fontAwesome",
viewrecords: true,
rowList: [20,30,50],
width: 780,
height: 250,
rowNum: 20,
sortname: "ProductName",
grouping: true,
groupingView: {
groupField: ["CatId"],
groupColumnShow: [true],
groupText: [
"CatId: <b>{0}</b>"
],
groupOrder: ["asc"],
groupSummary: [true],
groupSummaryPos: ["header"],
groupCollapse: true
}
});
在这里,我想根据标题中的汇总值对剩余数量进行排序。请帮忙。
答案 0 :(得分:1)
您的演示有许多小问题:
datatype: "json"
。此外,您不使用loadonce: true
选项,也不使用forceClientSorting: true
选项。这意味着服务器负责对数据进行排序。此外,如果您使用分组,则必须在groupingView.groupField
(在您的情在你的情况下{1}}。您用作来源的数据未正确排序。例如,有人看到jqGrid显示两个 CatId
和两个sortname
组。RemainingQuantity
和CatId: 2
选项来解决问题,但是您使用旧版本的免费jqGrid(4.11.1),这不支持CatId: 3
。您必须升级到免费的jqGrid的最新版本(4.14.0)才能在显示之前对客户端上的服务器返回的数据进行排序和分组。loadonce: true
而不是forceClientSorting: true
或forceClientSorting: true
)。它改变了对数据进行排序的顺序。" 16"
(例如"16"
)对列中与数据类型相对应的数据进行排序。16
和sorttype
sorttype: "integer"
(在您的情况下为sorttype: "date"
)formatter: "date"
,formatoptions
和formatoptions: { srcformat: "d/m/Y H:i:s", newformat: "d/m/Y H:i:s" }
有效,则网格必须至少有一个寻呼机。因此,您可能会跳过rowNum
或rowList
(或两者)选项。固定演示为https://jsfiddle.net/OlegKi/zqLp4yrg/43/。我删除了viewrecords
和pager: true
只是为了便于检查结果。这些设置对您的主要问题并不重要。