开发者社区> 问答> 正文

关于jqGrid数据排序的问题:报错

如上图,降序的时候,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;
}






展开
收起
kun坤 2020-06-14 06:26:48 573 0
1 条回答
写回答
取消 提交回答
  • 那个colModel里面的json 数据 这样设置 {name:'count', width:70, sorttype:'integer',formatter:'integer'}######sortable:true,

    sortname : 'score',

    sortorder : "desc",

    这3个都设置了吗?

    还有就是你先打印出后台返回的数据,看看是不是返回的时候就没有排对。


    ######

    引用来自“刘新全”的评论

    sortable:true,

    sortname : 'score',

    sortorder : "desc",

    这3个都设置了吗?

    还有就是你先打印出后台返回的数据,看看是不是返回的时候就没有排对。


    谢谢回答。jqGrid这三个属性缺省的情况下就是这样的吧?控制台里看到后台返回的JSON数据排序是对的。希望继续帮我解答!

    ######那个datatype怎么是local,应该是json吧!######可以是local的,因为我是本地获取好了的JSON数据对象给了jqGrid######

    引用来自“无脑仔的小明”的评论

    那个colModel里面的json 数据 这样设置 {name:'count', width:70, sorttype:'integer',formatter:'integer'}
    感谢!我在colModel里加了 sorttype:'integer'排序就正常啦!再次感谢!也谢谢其它朋友!######

    jqGrid排序问题及解决办法

    ######请问楼主,我的jqgrid有个列可以排序,点击此列也能把需要排序的列名和排序方式传给后台,但当我对grid执行一次reloadGrid后,再点击这个排序列,相应的两个参数sord和sidx就没有,后台无法排序,请问这种情况怎么处理?######

    引用来自“wanghu1983”的评论

    请问楼主,我的jqgrid有个列可以排序,点击此列也能把需要排序的列名和排序方式传给后台,但当我对grid执行一次reloadGrid后,再点击这个排序列,相应的两个参数sord和sidx就没有,后台无法排序,请问这种情况怎么处理?

    如果我没记错的话,在reloadGrid的时候(判断)需要: 

    $node[0].grid.beginReq();
    $node[0].grid.endReq();
    $node.jqGrid('clearGridData');
    $node.jqGrid('setGridParam', {data: jsonData});
    $node.trigger('reloadGrid');

    说明:$node是表格的jq节点,jsonData是后台返回的json数据
    ######谢谢 @零七九三 答复,我已通过jqGrid的onSortCol函数解决
    2020-06-14 06:26:58
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载