在C#中,使用DataTable进行数据分页可以通过以下步骤实现:
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 添加数据
for (int i = 1; i <= 100; i++)
{
DataRow dr = dt.NewRow();
dr["ID"] = i;
dr["Name"] = "Name" + i;
dr["Age"] = i % 10;
dt.Rows.Add(dr);
}
public DataTable GetPagedData(int pageIndex, int pageSize)
{
int totalRecords = dt.Rows.Count;
int totalPages = (int)Math.Ceiling((double)totalRecords / pageSize);
if (pageIndex < 1 || pageIndex > totalPages)
{
throw new ArgumentOutOfRangeException("pageIndex");
}
int startIndex = (pageIndex - 1) * pageSize;
int endIndex = Math.Min(startIndex + pageSize, totalRecords);
DataTable pagedDt = dt.Clone();
for (int i = startIndex; i < endIndex; i++)
{
pagedDt.Rows.Add(dt.Rows[i].ItemArray);
}
return pagedDt;
}
int pageIndex = 1; // 当前页码
int pageSize = 10; // 每页显示的记录数
DataTable pagedData = GetPagedData(pageIndex, pageSize);
// 绑定数据到GridView或其他数据控件
gridView.DataSource = pagedData;
gridView.DataBind();
这样,你就可以实现基于DataTable的数据分页功能。根据需要,你可以对分页方法进行扩展,例如添加排序、筛选等功能。