.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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章