天天看點

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

<a href="http://www.cnblogs.com/ymnets/p/3424309.html">系列目錄</a>

為了符合後面更新後的重構系統,文章于2016-11-1日重寫 EasyUI Datagrid在加載的時候會送出一些分頁的資訊到背景,我們需要根據這些資訊來進行資料分頁再次傳回到前台

首先要讓DataGrid支援分頁,我們需要在JS Datagrid中加入下列幾個屬性

是否啟用分頁:pagination 預設是false

每頁數量:pageSize 預設10

可選擇每頁數量:pageList 預設[10,20,30,40,50]

排序字段:sortName 預設null

排序類型:sortOrder 預設asc

OK加入後的代碼變成這樣

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

 Index

預覽一下

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

實際已經分頁,但是不正确的,每一頁的資料一樣。我們要根據分頁的參數去取

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

OK我們控制器要根據他傳遞的參數寫同樣的參數名稱,否則擷取不到

看我們的SysSampleController 下的GetList方法,加入參數

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

 SysSampleController

BLL代碼修改(IBLL也要修改參數 List&lt;SysSampleModel&gt; GetList(int page, int rows, string sort, string order,ref int total);)

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

 SysSampleBLL

 我們要在BLL層傳回目前查詢的全部條數,還要傳回目前頁得資料

補腦:ref關鍵字使參數按引用傳遞。其效果是,當控制權傳遞回調用方法時,在方法中對參數所做的任何更改都将反映在該變量中。若要使用ref參數,則方法定義和調用方法都必須顯式使用ref關鍵字。 大家看出這樣太麻煩了,代碼太不漂亮了,我們把常用的參數給封裝了。
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

 GridPager

把這個類放到Apps.Common, 我們的Apps.Common終于用到了

再次修改Controller的GetList

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

和修改BLL的GetList 還要修改IBLL --List&lt;SysSampleModel&gt; GetList(ref GridPager pager);

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結

代碼漂亮了不少,預覽一下,還是正确的效果了。

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(8)-MVC與EasyUI DataGrid 分頁前言實作檢視技巧分裝分頁總結
文章中一直示範做法,這種方式看起來非常反感,但是都是為了更好更仔細的了解系統,為後面快速開發做鋪墊

本文轉自ymnets部落格園部落格,原文連結:http://www.cnblogs.com/ymnets/p/3428740.html,如需轉載請自行聯系原作者

繼續閱讀