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()为我页面加载数据的方法、具体加载各自会有不同,具体不再粘出。

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

  • 相关阅读:
    redis 储存对象
    redis key 查看器
    c# 控制台程序编写RabbitMQ 生产者
    C# 使用Topshelf 构建 基于 window 服务的 RabbitMQ消费端
    asp.net webapi 使用定时任务Hangfire
    asp.net webpi 中使用 ClientHelper 发起HTTP请求
    SQL Server 导入和导出向导 未在本地计算机上注册Mircrosoft.ACE.OLEDB.12.0 提供程序
    c# 使用Linq 表达式 对查询结果分组,保留价格最低的一条
    Asp.Net s请求报传输流收到意外的 EOF 或 0 个字节
    asp.net webapi 中使用rdlc 报表
  • 原文地址:https://www.cnblogs.com/KnifezZZ/p/6204493.html
Copyright © 2011-2022 走看看