我注意到,一旦通过 ajax getJSon() 检索到值列表,JQGrid 中的多分组会引发行排序以内联方式重新排列。有时,重新排序会将相同元素的组拆分为多个组,这是应该的。
我想解决方案是避免客户端对 JQGrid 行进行重新排序,目的是明确地重用 JSON 中给出的相同顺序而不进行更改——正如服务器返回的那样。
我正在使用以下配置:
jq("#myGrid").jqGrid({
datatype: 'local',
data: myvar.detail, // a well formatted json locally stored
colNames: [ ....],
colModel: [
{name:'nome_attr',index:'nome_attr', sorttype: function () {return 1;}, editable:true, editrules:{required:true}, editoptions:{size:27}, align:'center'},
{name:'desc_attr', index:'desc_attr', sorttype: function () {return 1;}, editable:true, editrules:{required:false}, edittype: "textarea",editoptions:{rows:5, cols:25}, hidden:true},
{name:'valore',index:'valore', sorttype: function () {return 1;},editable:true, editrules:{required:false}, editoptions:{size:30}, width:120},
....
],
loadonce: false, // to dis-able sorting on client side
sortable: false,
grouping:true,
groupingView : {
groupField : ['nome_attr', 'valore'],
groupColumnShow: [false,false],
groupText : ['{0}'],
groupCollapse: true,
groupDataSorted: false,
groupSorted: false,
groupOrder: false
}
});
注意(1)我已经在使用解决方法来禁用排序类型
sorttype: function () {return 1;}
如此处所述,并且 in"#myGrid"
是一个子网格,其中datatype: local
, 表示先前已在容器网格中检索到的行。
有谁知道colModel
属性的配置和groupingView
要设置的参数是为了避免在多分组的情况下进行在线重新排序?
提前致谢,
米歇尔