C#实现datagridview分页
时间: 2023-06-24 21:05:36 浏览: 155
实现DataGridView分页可以通过以下步骤来完成:
1. 从数据库中获取数据并存储在数据集或数据表中。
2. 将数据表绑定到DataGridView控件上。
3. 设置DataGridView控件的分页属性,例如每页显示的记录数、当前页数和总页数。
4. 根据当前页数和每页显示的记录数,筛选出当前页需要显示的记录,并重新绑定到DataGridView控件上。
下面是一个简单的C#代码示例:
```csharp
private void BindDataGridView(int currentPage)
{
int pageSize = 10; // 每页显示的记录数
int totalRecord = GetTotalRecord(); // 获取总记录数
int totalPages = (int)Math.Ceiling(totalRecord / (double)pageSize); // 计算总页数
DataTable dt = GetData(currentPage, pageSize); // 从数据库中获取当前页的数据
dgv.DataSource = dt; // 将数据表绑定到DataGridView控件上
lblCurrentPage.Text = currentPage.ToString(); // 显示当前页数
lblTotalPages.Text = totalPages.ToString(); // 显示总页数
}
private void btnFirst_Click(object sender, EventArgs e)
{
BindDataGridView(1); // 显示第一页的数据
}
private void btnPrevious_Click(object sender, EventArgs e)
{
int currentPage = int.Parse(lblCurrentPage.Text);
if (currentPage > 1)
{
BindDataGridView(currentPage - 1); // 显示上一页的数据
}
}
private void btnNext_Click(object sender, EventArgs e)
{
int currentPage = int.Parse(lblCurrentPage.Text);
int totalPages = int.Parse(lblTotalPages.Text);
if (currentPage < totalPages)
{
BindDataGridView(currentPage + 1); // 显示下一页的数据
}
}
private void btnLast_Click(object sender, EventArgs e)
{
int totalPages = int.Parse(lblTotalPages.Text);
BindDataGridView(totalPages); // 显示最后一页的数据
}
```
在上述代码中,BindDataGridView方法用于从数据库中获取数据并绑定到DataGridView控件上,btnFirst、btnPrevious、btnNext和btnLast按钮的Click事件分别用于显示第一页、上一页、下一页和最后一页的数据。由于分页属性的设置与具体的DataGridView控件实现有关,因此在此不再赘述。
阅读全文