C#中,通过datatable,实现分页功能,举例说明
时间: 2023-12-18 09:28:23 浏览: 82
以下是C#中通过DataTable实现分页功能的示例代码:
```csharp
// 假设dt为原始数据表,pageSize为每页显示的记录数,pageIndex为当前页码
public DataTable GetPagedDataTable(DataTable dt, int pageSize, int pageIndex)
{
DataTable newTable = dt.Clone(); // 复制原始表结构
int startIndex = (pageIndex - 1) * pageSize; // 计算起始行索引
int endIndex = pageIndex * pageSize - 1; // 计算结束行索引
if (endIndex >= dt.Rows.Count) // 如果结束行索引超出了总行数,则将结束行索引设置为总行数减1
{
endIndex = dt.Rows.Count - 1;
}
for (int i = startIndex; i <= endIndex; i++) // 遍历原始表,将符合条件的行添加到新表中
{
DataRow newRow = newTable.NewRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
newRow[j] = dt.Rows[i][j];
}
newTable.Rows.Add(newRow);
}
return newTable;
}
```
以上代码中,我们首先复制了原始数据表的结构,然后根据传入的pageSize和pageIndex计算出起始行索引和结束行索引,遍历原始数据表,将符合条件的行添加到新表中,最后返回新表即可。