easyUI datagrid 前端假分页
发布日期:2021-06-30 17:23:08 浏览次数:2 分类:技术文章

本文共 1641 字,大约阅读时间需要 5 分钟。

datagrid有两种分页方式,真分页和假分页。

所谓真分页,就是真的每次只获取一张分页的数据。

所谓假分页,就是将所有数据全部获取下来,然后利用其分页控件进行分页。

下面具体说说假分页:

1、datagrid有些参数需要设置:

$("#dg").datagrid({    pageNumber:1,    pagination: true,//分页控件     rownumbers: true,//显示行号    pageSize: 10,    pageList: [10, 15, 50, 100],    loader: myLoader, //前端分页加载函数    ……
2、加载函数:

function myLoader(param, success, error) {    var that = $(this);    var opts = that.datagrid("options");    if (!opts.url) {        return false;    }    var cache = that.data().datagrid.cache;    if (!cache) {        $.ajax({            type: opts.method,            url: opts.url,            data: param,            dataType: "json",            success: function (data) {                that.data().datagrid['cache'] = data;                success(bulidData(data));            },            error: function () {                error.apply(this, arguments);            }        });    } else {        success(bulidData(cache));    }    function bulidData(data) {        debugger;        var temp = $.extend({}, data);        var tempRows = [];        var start = (param.page - 1) * parseInt(param.rows);        var end = start + parseInt(param.rows);        var rows = data.rows;        for (var i = start; i < end; i++) {            if (rows[i]) {                tempRows.push(rows[i]);            } else {                break;            }        }        temp.rows = tempRows;        return temp;    }}
照抄可也,只要 jQuery easyui 1.2.6+

3、服务器端获取数据,格式一定要是:

{"total":106,"rows":[{},{},{}.....]},且rows.length的长度应该等于total的值。显然,rows就是具体的数据。

如此,分页可成矣,只不过,它是假的。

4、如果需要刷新数据,务必清除缓存:

$("#dg).data().datagrid.cache = null;$("#dg).datagrid("reload");

转载地址:https://leftfist.blog.csdn.net/article/details/43164977 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何成为一名快枪手
下一篇:操作JSON对象

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月28日 07时00分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章