[XtraGrid] 實作分頁控制項分頁

上篇,這裡要分享的是分頁控制項的實作方式,給需要的夥伴

開發原則:

  • 採用 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
  • 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

Image result for microsoft+mvp+logo