EasyUI Datagrid 分页的情况下实现点击表头的小三角图标对数据库中所有数据重新排序

来源:互联网 发布:雄鹰1911走淘宝暗语 编辑:程序博客网 时间:2024/06/04 17:46

说明一下:
当点击 datagrid 表头某一列的小三角图标时,easyui 本身是有排序的,但是在当我们对 datagrid 进行了分页的情况下,点击排序只是对当前页的数据进行排序,而需求需要我对数据库里面的所有数据进行排序,这样的话只能从后台先排好序再返回了。

看了一下文档,发现点击小三角图标时会触发 onSortColumn 事件,于是我们只要在触发这个事件的时候重新向后台请求一遍 datagrid 的数据好了。

那就直接上代码吧~~

var sortOrder = "asc"; // 排序方式,asc:正序,desc:倒序var sortField = "NickName"; // 要排序的列名称// 初始化数据列表function initDatagrid() {    $('#dg').datagrid({        url: '/api/Member',        method: "get",        striped: true,        border: true,        selectOnCheck: false,        checkOnSelect: false,        remoteSort: true, // 定义是否从服务器排序数据,要设置为true        singleSelect: false,        idField: 'MemberId',        pagination: true,        rownumbers: false,        pageSize: 20,        fitColumns: true,        columns: [[                                ...        ]],        // 把要排序的列名称与正序/倒序这两个参数也传到后台进行处理        onBeforeLoad: function (params) {            params.nickName = $("#nickName").val();            params.phone = $('#phone').val();            params.sortField = sortField;            params.sortOrder = sortOrder;        },        // 点击某一列进行排序时触发的事件        onSortColumn: function (sort, order) {            sortField = sort;  // 要排序的列名称            sortOrder = order;  // 正序or倒序            $('#dg').datagrid('reload');        }    });}

不过这样还没完善,在 easyui 里本来点击 onSortColumn 就是请求了一次后台的,这一点可以打断点测试一下。
所以,我们需要把原来的那次请求屏蔽掉,否则会请求两次后台。
具体的做法,就是修改 jquery.easyui.js / jquery.easyui.min.js 文件。

jquery.easyui.js / jquery.easyui.min.js 文件中搜 remoteSort,找到下面这段代码

if(opts.remoteSort){_646(_63c);}else{_647(_63c,$(_63c).datagrid("getData"));}opts.onSortColumn.call(_63c,opts.sortName,opts.sortOrder);};

if 里面执行的代码注释掉就好了。(在上图中是 _646(_63c);,有可能不一样??)。
PS:datagridtreegrid 都有 remoteSort 这个东东,别搞错了!!

End.

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 不想起床怎么办 神回复 孩子不起床上学怎么办 孕晚期起床困难怎么办 腰间盘疼痛起床困难怎么办 小学生做作业拖拉怎么办 被手机贷起诉怎么办 大人睡颠倒了怎么办 熬夜长斑了怎么办 ps遇到文件尾怎么办 pdf用ps打不开怎么办 ps安装不上怎么办 工作原因经常熬夜怎么办 熬夜皮肤暗黄怎么办 经常熬夜睡眠不好怎么办 经常熬夜皮肤不好怎么办 皮肤熬夜变暗黄怎么办 晚上上夜班白天睡不着怎么办 熬夜肾虚怎么办才能好 经常熬夜口气重怎么办 晚上睡不着白天起不来怎么办 晚上熬夜白天睡不着怎么办 在外打工孩子上学怎么办 婴儿脸干燥发红怎么办 宝宝脸上红点点怎么办 药流出血量少怎么办 药流喝药第一天发烧了怎么办 药流第一天量很少怎么办 小孩不想吃饭口臭怎么办 晚上上班白天睡不着怎么办 新车刮漆了怎么办 药流出血多怎么办 药流第二天没血怎么办 有异味怎么办%3f 养狗后悔了怎么办 买狗后悔了怎么办 小孩子不想去幼儿园怎么办 小孩子不想上幼儿园怎么办 想当兵视力不够怎么办 当兵裸眼视力差怎么办 去公司报道行李怎么办 报道第一天出糗怎么办