需要一个、BindingNavigate、BindingSource控件,分别命名为PageOperation,dataSource;
首先,定义私有字段:
private int pageTotal;
private int pageSize = 10;
private int pageIndex = 1;
然后是赋值 dataSource.DataSource = list;
#region 分页相关
//分页操作
private void PageOperation(ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Text == "首页")
{
FirstPageOperation();
}
if (e.ClickedItem.Text == "上一页")
{
PrevPageOperation();
}
if (e.ClickedItem.Text == "下一页")
{
NextPageOperation();
}
if (e.ClickedItem.Text == "尾页")
{
LastPageOperation();
}
}
//尾页
private void LastPageOperation()
{
pageIndex = pageTotal;
if (pageIndex + 1 >= pageTotal)
{
PageWithLastOfNext(false);
}
if (pageTotal > 1)
{
PageWithPrevOfFirst(true);
}
}
//下一页
private void NextPageOperation()
{
if (pageIndex + 1 >= pageTotal)
{
PageWithLastOfNext(false);
}
pageIndex++;
if (pageTotal > 1)
{
PageWithPrevOfFirst(true);
}
}
//上一页
private void PrevPageOperation()
{
if (pageIndex - 1 <= 1)
{
PageWithPrevOfFirst(false);
}
pageIndex--;
if (pageTotal > 1)
{
PageWithLastOfNext(true);
}
}
//首页
private void FirstPageOperation()
{
pageIndex = 1;
if (pageIndex - 1 <= 1)
{
PageWithPrevOfFirst(false);
}
if (pageTotal > 1)
{
PageWithLastOfNext(true);
}
}
private void PageWithPrevOfFirst(bool enabled)
{
itemPagePrev.Enabled = enabled;
iitemPageFirst.Enabled = enabled;
}
private void PageWithLastOfNext(bool enabled)
{
itemPageLast.Enabled = enabled;
itemPageNext.Enabled = enabled;
}
#endregion