diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe index 553d0228..27f2ae5c 100644 Binary files a/Bin/net40/SunnyUI.Demo.exe and b/Bin/net40/SunnyUI.Demo.exe differ diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll index 1830d73a..411c51a8 100644 Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ diff --git a/Bin/net5.0-windows/SunnyUI.dll b/Bin/net5.0-windows/SunnyUI.dll index 2527c682..071b71e1 100644 Binary files a/Bin/net5.0-windows/SunnyUI.dll and b/Bin/net5.0-windows/SunnyUI.dll differ diff --git a/Bin/netcoreapp3.1/SunnyUI.dll b/Bin/netcoreapp3.1/SunnyUI.dll index bfd820cb..502f69e7 100644 Binary files a/Bin/netcoreapp3.1/SunnyUI.dll and b/Bin/netcoreapp3.1/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Controls/FDataGridView.cs b/SunnyUI.Demo/Controls/FDataGridView.cs index 9d9bdb49..f40ae3cb 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.cs +++ b/SunnyUI.Demo/Controls/FDataGridView.cs @@ -4,6 +4,8 @@ namespace Sunny.UI.Demo { public partial class FDataGridView : UITitlePage { + List datas = new List(); + public FDataGridView() { InitializeComponent(); @@ -13,14 +15,8 @@ namespace Sunny.UI.Demo uiDataGridView1.AddColumn("Column3", "Column3").SetFixedMode(150); uiDataGridView1.AddColumn("Column4", "Column4").SetFixedMode(150); uiDataGridView1.ReadOnly = true; - } - public override void Init() - { - base.Init(); - - List datas = new List(); - for (int i = 0; i < 3650; i++) + for (int i = 0; i < 3610; i++) { Data data = new Data(); data.Column1 = "Data" + i.ToString("D2"); @@ -30,7 +26,16 @@ namespace Sunny.UI.Demo datas.Add(data); } - uiPagination1.DataSource = datas; + //设置分页控件总数 + uiPagination1.TotalCount = datas.Count; + + //设置分页控件每页数量 + uiPagination1.PageSize = 50; + } + + public override void Init() + { + base.Init(); uiPagination1.ActivePage = 1; } @@ -50,9 +55,27 @@ namespace Sunny.UI.Demo } } + /// + /// 分页控件页面切换事件 + /// + /// + /// + /// + /// private void uiPagination1_PageChanged(object sender, object pagingSource, int pageIndex, int count) { - uiDataGridView1.DataSource = pagingSource; + //未连接数据库,通过模拟数据来实现 + //一般通过ORM的分页去取数据来填充 + //pageIndex:第几页,和界面对应,从1开始,取数据可能要用pageIndex - 1 + //count:单页数据量,也就是PageSize值 + List data = new List(); + for (int i = (pageIndex - 1) * count; i < (pageIndex - 1) * count + count; i++) + { + if (i >= datas.Count) continue; + data.Add(datas[i]); + } + + uiDataGridView1.DataSource = data; uiDataGridViewFooter1.Clear(); uiDataGridViewFooter1["Column1"] = "合计:"; uiDataGridViewFooter1["Column2"] = "Column2_" + pageIndex; diff --git a/SunnyUI/Controls/UIPagination.cs b/SunnyUI/Controls/UIPagination.cs index 1580ea99..2e3e5934 100644 --- a/SunnyUI/Controls/UIPagination.cs +++ b/SunnyUI/Controls/UIPagination.cs @@ -842,7 +842,7 @@ namespace Sunny.UI { if (dataSource == null) { - PageChanged?.Invoke(this, dataSource, activePage, 0); + PageChanged?.Invoke(this, dataSource, activePage, PageSize); return; }