zoukankan      html  css  js  c++  java
  • layPage异步分页

    layPage分页,参照官网实例写了一份。如下:

    function InitDataByPage(curr) {
        var pageSize = 5;
        $.getJSON("InitDataByPage", { "CFG_Table": cfg_table, "pageindex": curr, "pagesize": pageSize }, function (result) {
            //BindDataToTableByPage(result);//将获取到的数据动态加载到table
            var coun = result[0]._pagenum;//总数据条数
            var pagecount = coun % pageSize == 0 ? coun / pageSize : coun / pageSize + 1;//计算多少页
            laypage({
                cont: 'lay_page', //容器。值支持id名、原生dom对象,jquery对象。
                skin: '#fb771f',
                pages: pagecount, //通过后台拿到的总页数
                curr: curr, //初始化当前页
                groups: 10,//连续显示页数
                skip:true,//是否跳页
                first: '|<', //将首页显示为数字1,。若不显示,设置false即可
                last: '>|', //将尾页显示为总页数。若不显示,设置false即可
                prev: '<', //若不显示,设置false即可
                next: '>', //若不显示,设置false即可
                jump: function (obj, first) { //触发分页后的回调
                    if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr
                        var pageindex = obj.curr - 1;
                        $.getJSON("InitDataByPage", { "CFG_Table": cfg_table, "pageindex": pageindex, "pagesize": pageSize }, function (result) {
                            BindDataToTableByPage(result);
                        })
                    }
                }
            });
        })
    }

    后台SQL查询语句:

                var beginnum = 0;
                if (pageindex != 0)
                {
                    beginnum = pageindex * pagesize;
                }
                var endnum = beginnum + pagesize;
                string sqltxt = "select tnum._pagenum, * from (select row_number() over(order by GUID) as rowNum, * from "+CFG_Table+ ") as t , (select COUNT(1) as _pagenum from "+CFG_Table+") as tnum 
    where t.rowNum between
    " + beginnum + " and "+ endnum;

    通过select COUNT(1) from Table 获取总条数并返回给前台"var coun = result[0]._pagenum;//总数据条数"。

    pageindex后台是从0开始,而layPage获取是从1开始,故前台对obj.curr进行减一操作以和后台相符。

    单页面可以指定表名,不需要使用cfg_table传递进去。

    BindDataToTableByPage()为我页面加载数据的方法、具体加载各自会有不同,具体不再粘出。

    新手上路,没有考虑性能是否可行、仅仅在少量数据下测试。欢迎指正。

  • 相关阅读:
    沟通是项目管理知识体系中的九大知识领域之一
    项目管理的三要素时间、成本、质量
    项目管理提升效率的几大关键点
    收到FRDMKL02Z
    【转】arm 开发工具比较(ADS vs RealviewMDK vs RVDS)
    你不能自己把自己放弃写在毕业季
    【转】为什么你应该(从现在开始就)写博客
    Vivado 2014.4 FFT IP 使用及仿真
    项目需求的一些事
    娇荣电子工作室成立了
  • 原文地址:https://www.cnblogs.com/KnifezZZ/p/6204493.html
Copyright © 2011-2022 走看看