问题描述:
希望按返回数据的顺序显示表格数据,当设置sortable:false时,firefox正常显示,chrome显示不正常,如下图:
解决办法:通过明确设置排序规则解决。
function setinnerrecord_table_init(){
$.post(setinnerrecord_url.list,{"knowledgeCode":"0002"},function(data){
var mydata=[];
if(data.status=="1"){
mydata=data.response;
for(var i=0;i<mydata.length;i++){//遍历返回值数组,给每组对象新增属性orderindex,即将数组的索引值赋给orderindex
mydata[i]["orderindex"]=i;
}
}
$("#setinnerrecord_wz_list").jqGrid("GridUnload");
$("#setinnerrecord_wz_list").jqGrid({
autowidth:true,
data:mydata,
datatype: "local",
height:'100%',
colNames:['操作','审核结果','内部记录','index'],
colModel:[
{name:'id', index:'id', width:50, formatter:function(cellvalue, options, rowObject){
return '<a href="javascript:void(0)" οnclick="setinnerrecord_edit(\''+rowObject.id+'\',\'1\')" class="ui-btn-bg1">编辑</a><a href="javascript:void(0)" οnclick="setinnerrecord_del(\''+rowObject.id+'\',\'1\')" class="ui-btn-bg1">删除</a><a href="javascript:void(0)" οnclick="setinnerrecord_up(this,\''+rowObject.id+'\')" class="ui-btn-bg1">上移</a>';
},key:true,sortable:true,},
{name:'categoryName',index:'categoryName', width:50, align:'center',sortable:false},
{name:'name', index:'name', width:200,sortable:false},
{name:'orderindex', index:'orderindex', width:100,hidden:true,sorttype:'integer'}//该字段隐藏,sorttype定义排序类型,默认值text,注意在datatype为local时该设置才有效
],
rowNum:1000,
sortable:true,
sortname:'orderindex', //按orderindex排序
sortorder:'asc',
rowNum:100,
grouping:true,
groupingView :{
groupField:['categoryName'],
groupCollapse:false,
groupOrder:['desc']
//groupColumnShow:[false]
},
caption: null
});
})
}
经测chrome和firefox显示效果一致。