* UIPagination:更新了Demo,分页切换事件加载数据。

This commit is contained in:
Sunny 2021-05-25 17:19:49 +08:00
parent f9a06019ac
commit 23fe4e46d4
6 changed files with 33 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,6 +4,8 @@ namespace Sunny.UI.Demo
{
public partial class FDataGridView : UITitlePage
{
List<Data> datas = new List<Data>();
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<Data> datas = new List<Data>();
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
}
}
/// <summary>
/// 分页控件页面切换事件
/// </summary>
/// <param name="sender"></param>
/// <param name="pagingSource"></param>
/// <param name="pageIndex"></param>
/// <param name="count"></param>
private void uiPagination1_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{
uiDataGridView1.DataSource = pagingSource;
//未连接数据库,通过模拟数据来实现
//一般通过ORM的分页去取数据来填充
//pageIndex第几页和界面对应从1开始取数据可能要用pageIndex - 1
//count单页数据量也就是PageSize值
List<Data> data = new List<Data>();
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;

View File

@ -842,7 +842,7 @@ namespace Sunny.UI
{
if (dataSource == null)
{
PageChanged?.Invoke(this, dataSource, activePage, 0);
PageChanged?.Invoke(this, dataSource, activePage, PageSize);
return;
}