.net mvc3 + easyui datagrid 获取单页数据 无刷新分页

html:​

代码 复制 - 运行

<table id="dataList"></table>

JQuery easyui:​

代码 复制 - 运行

$('#dataList').datagrid({ 
        title: '分页数据',   //标题
        iconCls: 'icon-save',  //表格的图标
        width: 500,  //表格宽度
        height: 300,   //表格高度
        pageSize: 15, //每页显示数量
        pageList: [15, 30, 45], //可以设置每页记录条数的列表 
        url: '/Home/GetList', //MVC的Controllers地址
        sortName: 'ID',  //要排序的字段
        sortOrder: 'desc',  //排序规则
        singleSelect: true,  //只能选择单行
        pagination: true  //这里一定要设置为true
    }); 
    var p = $('#datList').datagrid('getPager'); 
    p.pagination({ 
        beforePageText: '第',//页数文本框前显示的汉字           
        afterPageText: '页    共 {pages} 页',           
        displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录' 
    }); 
}


c#​:​

代码 复制 - 运行

//后台数据库分页 
        public JsonResult GetList() 
        { 
            try 
            { 
                string rows = Request["rows"].ToString();  //获取datagrid传来的行数
                string page = Request["page"].ToString(); //获取datagrid传来的页码
                //当前页 
                int intPage = int.Parse((page == null || page == "0") ? "1" : page); 
                //每页显示条数 
                int number = int.Parse((rows == null || rows == "0") ? "10" : rows); 
                //每页的开始记录  第一页为1 第二页为number +1    
                int start = (intPage - 1) * number; 
                var tb = dt.listpage(number, start);  //dt为Models的DataContext,listpage是一个存储过程
                var jsonMap = new Dictionary<string, object>(); 
                jsonMap.Add("total", count()); 
                jsonMap.Add("rows", tb); 
                return Json(jsonMap, JsonRequestBehavior.AllowGet); 
            } 
            catch 
            { 
                return null; 
            } 
        }​
       private int count()
        {
            try
            {
                var tb = from db in dt.table
                         select db;
                return tb.Count();
            }
            catch
            {
                return 0;
            }
        }

SQL存储过程:​

代码 复制 - 运行

create procedure listpage 
@number int, 
@start int 
as 
select top (@number) * from table where (id not in(select top (@start ) id from table order by id desc)) order by id desc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章