我有网格和子网格。我重新排序主网格中的列。更改主网格中列的位置会影响子网格中的列值,同时展开子网格。
jQuery("#list14").jqGrid({
url:'server.php?q=2',
datatype: "json",
height: 200,
colNames:['Inv No','Date', 'Client','Amount','Tax','Total','Notes'],
colModel:[ {name:'id',index:'id',width:55},
{name:'invdate',index:'invdate', width:90},
{name:'name',index:'name', width:100},
{name:'amount',index:'amount',width:80, align:"right"},
{name:'tax',index:'tax', width:80,align:"right"},
{name:'total',index:'total', width:80,align:"right"},
{name:'note',index:'note', width:150, sortable:false} ],
rowNum:10,
rowList:[10,20,30],
pager: '#pager14',
sortname: 'id',
viewrecords:true,
sortorder: "desc",
sortable:true,
subGrid : true,
subGridUrl:'subgrid.php?q=3',
subGridModel: [{ name :['No','Item','Qty','Unit','Line Total'],
width : [55,200,80,80,80],
params:['invdate']} ] , caption: "Subgrid with JSON Data" });
jQuery("#list14").jqGrid('navGrid','#pager14',{edit:false,add:false,del:false});
答案 0 :(得分:0)
我找到了解决此问题的方法。在父网格中启动列重新排序的过程之后,我首先关闭了子网格。
我从奥列格的回答中得到了code。
以下代码在loadComplete函数之前添加。
sortable: {
options: {
start: function(event, ui) {
$(".ui-subgrid").hide(3);
$('#list14 tr td').each(function() {
$(".ui-sgcollapsed").removeClass("sgexpanded").addClass("sgcollapsed");
$(".ui-sgcollapsed.sgcollapsed").find("span").removeClass("ui-icon-minus").addClass("ui-icon-plus");
});
}
}
},