• easyUI datagrid 前端假分页


    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");


  • 相关阅读:
    标记不同浏览器的Burp Suite 插件
    60%配列机械键盘客制化清单
    配合mitmproxy使用自动化工具测试阿里云API网关接口
    CORS & CSP笔记
    fmex挂单挖矿
    使用SPLUNK进行简单Threat Hunting
    Mac最新系统bssdb BUG
    技巧之如何快速使用websocket来监控标准输出
    币早知道夺宝题--以太坊题解题方法
    发行NEO的NEP-5合约代币
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257799.html
Copyright © 2020-2023  润新知