2020-05-11 21:11:29 +08:00
|
|
|
|
using System.Collections.Generic;
|
2023-10-11 22:20:28 +08:00
|
|
|
|
using System.Data;
|
2020-05-11 21:11:29 +08:00
|
|
|
|
|
|
|
|
|
namespace Sunny.UI.Demo
|
|
|
|
|
{
|
2021-06-22 09:43:13 +08:00
|
|
|
|
public partial class FDataGridView : UIPage
|
2020-05-11 21:11:29 +08:00
|
|
|
|
{
|
2023-10-11 22:20:28 +08:00
|
|
|
|
List<Data> dataList = new List<Data>();
|
|
|
|
|
DataTable dataTable = new DataTable("DataTable");
|
2021-05-25 17:19:49 +08:00
|
|
|
|
|
2020-05-11 21:11:29 +08:00
|
|
|
|
public FDataGridView()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
2021-05-25 17:19:49 +08:00
|
|
|
|
for (int i = 0; i < 3610; i++)
|
2020-05-11 21:11:29 +08:00
|
|
|
|
{
|
|
|
|
|
Data data = new Data();
|
|
|
|
|
data.Column1 = "Data" + i.ToString("D2");
|
|
|
|
|
data.Column2 = i.Mod(2) == 0 ? "A" : "B";
|
|
|
|
|
data.Column3 = "编辑";
|
|
|
|
|
data.Column4 = i.Mod(4) == 0;
|
2023-10-11 22:20:28 +08:00
|
|
|
|
dataList.Add(data);
|
2020-05-11 21:11:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-10-11 22:20:28 +08:00
|
|
|
|
dataTable.Columns.Add("Column1");
|
|
|
|
|
dataTable.Columns.Add("Column2");
|
|
|
|
|
dataTable.Columns.Add("Column3");
|
|
|
|
|
dataTable.Columns.Add("Column4");
|
|
|
|
|
uiDataGridView1.DataSource = dataTable;
|
|
|
|
|
|
|
|
|
|
//不自动生成列
|
|
|
|
|
uiDataGridView1.AutoGenerateColumns = false;
|
|
|
|
|
|
2021-05-25 17:19:49 +08:00
|
|
|
|
//设置分页控件总数
|
2023-10-11 22:20:28 +08:00
|
|
|
|
uiPagination1.TotalCount = dataList.Count;
|
2021-05-25 17:19:49 +08:00
|
|
|
|
|
|
|
|
|
//设置分页控件每页数量
|
2023-12-12 21:30:55 +08:00
|
|
|
|
uiPagination1.PageSize = 20;
|
2022-03-16 15:10:14 +08:00
|
|
|
|
uiDataGridView1.SelectIndexChange += uiDataGridView1_SelectIndexChange;
|
2022-03-20 17:16:40 +08:00
|
|
|
|
|
|
|
|
|
//设置统计绑定的表格
|
|
|
|
|
uiDataGridViewFooter1.DataGridView = uiDataGridView1;
|
2021-05-25 17:19:49 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Init()
|
|
|
|
|
{
|
|
|
|
|
base.Init();
|
2020-07-28 21:01:40 +08:00
|
|
|
|
uiPagination1.ActivePage = 1;
|
2020-05-11 21:11:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Data
|
|
|
|
|
{
|
|
|
|
|
public string Column1 { get; set; }
|
|
|
|
|
|
|
|
|
|
public string Column2 { get; set; }
|
|
|
|
|
|
|
|
|
|
public string Column3 { get; set; }
|
|
|
|
|
|
|
|
|
|
public bool Column4 { get; set; }
|
|
|
|
|
|
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
|
|
|
|
return Column1;
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-07-28 21:01:40 +08:00
|
|
|
|
|
2021-05-25 17:19:49 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 分页控件页面切换事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="pagingSource"></param>
|
|
|
|
|
/// <param name="pageIndex"></param>
|
|
|
|
|
/// <param name="count"></param>
|
2020-07-28 21:01:40 +08:00
|
|
|
|
private void uiPagination1_PageChanged(object sender, object pagingSource, int pageIndex, int count)
|
|
|
|
|
{
|
2021-05-25 17:19:49 +08:00
|
|
|
|
//未连接数据库,通过模拟数据来实现
|
|
|
|
|
//一般通过ORM的分页去取数据来填充
|
|
|
|
|
//pageIndex:第几页,和界面对应,从1开始,取数据可能要用pageIndex - 1
|
|
|
|
|
//count:单页数据量,也就是PageSize值
|
2023-10-11 22:20:28 +08:00
|
|
|
|
|
|
|
|
|
dataTable.Rows.Clear();
|
2023-12-12 21:30:55 +08:00
|
|
|
|
for (int i = (pageIndex - 1) * count; i < pageIndex * count; i++)
|
2021-05-25 17:19:49 +08:00
|
|
|
|
{
|
2023-10-11 22:20:28 +08:00
|
|
|
|
if (i >= dataList.Count) break;
|
|
|
|
|
dataTable.Rows.Add(dataList[i].Column1, dataList[i].Column2, dataList[i].Column3, dataList[i].Column4);
|
2021-05-25 17:19:49 +08:00
|
|
|
|
}
|
|
|
|
|
|
2021-04-21 17:38:00 +08:00
|
|
|
|
uiDataGridViewFooter1.Clear();
|
2023-10-11 22:20:28 +08:00
|
|
|
|
uiDataGridViewFooter1["Column1"] = "合计:" + pageIndex;
|
2021-04-21 17:38:00 +08:00
|
|
|
|
uiDataGridViewFooter1["Column2"] = "Column2_" + pageIndex;
|
|
|
|
|
uiDataGridViewFooter1["Column3"] = "Column3_" + pageIndex;
|
|
|
|
|
uiDataGridViewFooter1["Column4"] = "Column4_" + pageIndex;
|
2020-07-28 21:01:40 +08:00
|
|
|
|
}
|
2022-03-01 23:04:17 +08:00
|
|
|
|
|
|
|
|
|
private void uiDataGridView1_SelectIndexChange(object sender, int index)
|
|
|
|
|
{
|
|
|
|
|
index.WriteConsole("SelectedIndex");
|
|
|
|
|
}
|
2020-05-11 21:11:29 +08:00
|
|
|
|
}
|
2021-06-22 09:43:13 +08:00
|
|
|
|
}
|