c#+easyui实现分页

8 篇文章 1 订阅

oracle后端分页

select * from(select a.*,ROWNUM rn from Tablename a where
 ROWNUM<=(firstIndex+pageSize)) where rn>firstIndex

mysql后端分页

select * from TableName limit 10,10   

c#后端处理程序代码

public class SMTHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.ContentEncoding = Encoding.UTF8;
            string paramType = string.Empty;
            var page = 0;
            var rowdatas = 0;
            string defdate = string.Empty;
            page = Convert.ToInt32(context.Request.Params["page"].ToString());
            rowdatas = Convert.ToInt32(context.Request.Params["rows"].ToString());
            defdate = context.Request.Params["date"].ToString();
            ResponseData<List<T>> rback = new ResponseData<List<T>>();
            int NUM = 0;
            var result = FindInfo(page, rowdatas, defdate,out NUM);
            rback.IsSuccess = true;
            rback.UserId = NUM.ToString();
            rback.ErrorMsg = "sucsseul";
            rback.ExceptionType = 1;
            rback.Data = result.Data;
            var data = JsonConvert.SerializeObject(rback);
            //后端数据转化为json
            context.Response.Write(data);
        }

前端js初始化界面

function init() {
    $('#two').datagrid(
        {
            title: "数据展示区",
            //定义标题行所有的列,注意这是一个二维数组
            columns: [
                [
                    { title: '名字', field: 'CARD' },
                ]
            ],
            rownumbers: true,
            singleSelect: true,
            //显示分页条
            pagination: true,
            loadMsg: '数据加载中,请稍后……',
            //显示分页的条数
            pageList: [5, 10, 15, 30],
        });

}

js数据显示过滤器

function pagerFilter(data) {
    console.log(data);
    if (typeof data.length == 'number' && typeof data.splice == 'function') {
        data = {
            total: data[0].total,
            rows: data
        }
    }
    var dg = $(this);
    var opts = dg.datagrid('options');
    var pager = dg.datagrid('getPager');
    pager.pagination({
        onSelectPage: function (pageNum, pageSize) {
            opts.pageNumber = pageNum;
            opts.pageSize = pageSize;
            console.log("页数" + pageNum);
            QueryData();
        }
    });
    console.log(data);
    return data;
}

js查询按钮方法

function QueryData() {
    let pageNumber = $('#two').datagrid('options').pageNumber;
    let pageSize = $('#two').datagrid('options').pageSize;
    console.log(pageNumber);
    console.log(pageSize);
    SearchInfo(pageNumber, pageSize);
}

js前端请求方法

function SearchInfo(page, rows) {
    let defdate = $("#date").val();
    $.ajax({
        type: 'POST',
        url: "../../Ashx/SMTHandler.ashx?page=" + page + "&rows=" + rows + "&date=" + defdate,
        success: function (data) {
            let info = JSON.parse(data);
            console.log(info);
            if (info != null) {
                init();
            }
             total = info.UserId;
            var rows = [];
            for (var i = 0; i <= info.Data.length - 1; i++) {
                rows.push({
                    total: info.UserId,
                    CARD: info.Data[i].Card,
                });
            }
            console.log(rows[0].total);
            $('#two').datagrid({ loadFilter: pagerFilter }).datagrid('loadData', rows);
            
        },
    });

前端页面代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>分页查询</title>
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.8.6/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.8.6/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.8.6/demo/demo.css">
    <script type="text/javascript" src="jquery-easyui-1.8.6/jquery.min.js"></script>
    <script type="text/javascript" src="jquery-easyui-1.8.6/jquery.easyui.min.js"></script>
    <script src="js/Menu.js"></script>
</head>
<body>

    <div class="easyui-panel" title="功能区" data-options="collapsible:true">
        <div>
            <span>名字</span>
            <input id="date" type="date" style="width:10%" />
            <a id="searchSMT" src="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onclick="QueryData()">查询</a>
            <a id="AddSMT" src="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="AddData()">添加</a>
        </div>
    </div>
    <div>
        <table id="two" class="easyui-datagrid">
        </table>
    </div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值