續上篇,這裡要分享的是分頁控制項的實作方式,給需要的夥伴
開發原則:
- 採用 3-Layer 架構
- Layer 彼此之間需要的物件放在 Infrastructure,資料交換用 ViewModel
- UI 相依 BLL,BLL 相依 DAL,DAL 相依 EF,UI 不得直接相依 DAL 或 EF 資料存取
- Database 在遠端,拿資料要分段拿
開發環境:
- Windows 10 x64 eng
- VS2015 Update3
- from nuget
- EntityFramework 6.1.3 Code First | SQL Server 2016 Localdb (v13.0)
- Faker.Data 1.0.7
- System.Linq.Dynamic 1.0.7
- from nuget
-
DevExpress DevExpressComponents-16.2.5
實作內容:
@PagingControl.cs
把我要呈現的控制項擺好、擺滿
邏輯沒有太複雜,按下按鈕處理控制項何時要啟用、停用,詳細代碼請參考以下:
https://dotblogsamples.codeplex.com/SourceControl/latest#XtraGrid.PagingController/UI.Extension/PagingControl.cs
@PagingChangedEventArgs.cs
用來通知訂閱者,換頁囉,詳見以下:
https://dotblogsamples.codeplex.com/SourceControl/latest#XtraGrid.PagingController/UI.Extension/PagingChangedEventArgs.cs
@EnumPageMode.cs
頁面狀態定義,詳見以下:
https://dotblogsamples.codeplex.com/SourceControl/latest#XtraGrid.PagingController/UI.Extension/EnumPageMode.cs
@Form1.cs
訂閱 PagingControl.PagingChanged 事件,當換頁的時候觸發查詢
完整代碼如下:
https://dotblogsamples.codeplex.com/SourceControl/latest#XtraGrid.PagingController/UI/Form1.cs
操作介面:
專案位置:
http://dotblogsamples.codeplex.com/SourceControl/latest#XtraGrid.PagingController/
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET