jQuery MiniUI

 找回密码
 立即注册
查看: 3388|回复: 3
打印 上一主题 下一主题

客户端分页问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2016-9-7 15:20:28 |只看该作者 |倒序浏览
麻烦哪位大神用过miniUI的客户端分页Client Pagination ,能否帮我解释一下这些代码的意思呀,万分感谢function fillData(pageIndex, pageSize, dataResult, grid) {  //

        var data = dataResult.data, totalCount = dataResult.total;

        var arr = [];
        var start = pageIndex * pageSize, end = start + pageSize;
        for (var i = start, l = end; i < l; i++) {
            var record = data;
            if (!record) continue;
            arr.push(record);
        }


        grid.setTotalCount(totalCount);
        grid.setPageIndex(pageIndex);
        grid.setPageSize(pageSize);

        grid.setData(arr);
    }

    // 监听分页前事件,阻止后自行设置当前数据和分页信息
    grid.on("beforeload", function (e) {
        e.cancel = true;

        var pageIndex = e.data.pageIndex, pageSize = e.data.pageSize;
        fillData(pageIndex, pageSize, dataResult, grid);
    });

    ////////////////////////////////////////////////////////////////////////

    // 获取所有数据和总记录数 { total: 100, data: [...] }
    var dataResult = null;
    $.ajax({
        url: '分页.txt',  
        dataType: 'text',
        async: false,
        success: function (text) {
            dataResult = mini.decode(text);
        }
    });

    // 第一次设置
    fillData(0, grid.getPageSize(), dataResult, grid);


Rank: 8Rank: 8

沙发
发表于 2016-9-7 15:53:46 |只看该作者
fillData(0, grid.getPageSize(), dataResult, grid);
参数(起始页数,页面显示数量条数,数据,表格)

用ajax获取到全部数据,然后按页面和每页数据到数据里面获取到该页应该显示的数据,加载到表格里面。
按翻页都会触发beforeload,e.cancel=true阻止掉默认的服务端加载

Rank: 2

板凳
发表于 2016-9-7 16:31:36 |只看该作者
本帖最后由 renle 于 2016-9-7 16:33 编辑
felt 发表于 2016-9-7 15:53
fillData(0, grid.getPageSize(), dataResult, grid);
参数(起始页数,页面显示数量条数,数据,表格)

var start = pageIndex * pageSize, end = start + pageSize;
        for (var i = start, l = end; i < l; i++) {
            var record = data;
            if (!record) continue;
            arr.push(record);
        }
大神,这句该怎么理解,循环就是为了把数据显示到当前页吗,但是每次循环的pagsize都为0,而且每次判断只判断当前页面,那下一页面呢,例如我有21条数据,每页显示10条,总共可以显示三页,按照上述判断只能判断第一页,当I=L是跳出循环,只显示了第一页的10条数据,
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2016-9-7 17:41:03 |只看该作者
renle 发表于 2016-9-7 16:31
var start = pageIndex * pageSize, end = start + pageSize;
        for (var i = start, l = end; i < ...

这段代码的作用是根据pagerIndex和pageSize从数据里面找到这页应该显示的数据。
这个方法在翻页按钮点击的时候就会触发,我们内部自动会生成pagesize和pageindex

Archiver|普加软件

GMT+8, 2025-7-8 14:30 , Processed in 1.056677 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部