如上图,降序的时候,jqGrid会按前台方法排序,这样显然行不通!
(实际上后台数据是以1397、1000、999这样降序的形式返回的!)
说明:通过向后端ajax获取到jsonData,然后传给jqGrid的。没有使用jqGrid自带的方法获取数据。
个人感觉是jqGrid缓存的问题,但是我设置了很多种方法还是无效!
if(_this.hasLoadGrid){ $node[0].grid.beginReq(); $node[0].grid.endReq(); $node.jqGrid('clearGridData'); $node.jqGrid('setGridParam', {data: dataObj}); $node.trigger('reloadGrid'); }else{ $node.jqGrid({ data:jsonData, datatype:"local", cache: false, loadonce: false, onSortCol: function (index, colindex, sortorder){ _this.sData.sort = '{"' + index + '":"' + sortorder + '"}'; _this.view('dataList');//这里是ajax重新加载数据表的方法 } }).trigger('GridUnload'); _this.hasLoadGrid = true; }
那个colModel里面的json 数据 这样设置 {name:'count', width:70, sorttype:'integer',formatter:'integer'}######sortable:true,
sortname : 'score',
sortorder : "desc",
这3个都设置了吗?
还有就是你先打印出后台返回的数据,看看是不是返回的时候就没有排对。
sortname : 'score',
sortorder : "desc",
这3个都设置了吗?
还有就是你先打印出后台返回的数据,看看是不是返回的时候就没有排对。
谢谢回答。jqGrid这三个属性缺省的情况下就是这样的吧?控制台里看到后台返回的JSON数据排序是对的。希望继续帮我解答!
######那个datatype怎么是local,应该是json吧!######可以是local的,因为我是本地获取好了的JSON数据对象给了jqGrid######如果我没记错的话,在reloadGrid的时候(判断)需要:
$node[0].grid.beginReq();
$node[0].grid.endReq();
$node.jqGrid('clearGridData');
$node.jqGrid('setGridParam', {data: jsonData});
$node.trigger('reloadGrid');
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。