public partial class PageNavigator : UserControl { #region 属性字段 /// /// 当面页码
/// private int pageIndex = 1; public int PageIndex { get { return pageIndex; } set { pageIndex = value; } } /// /// 每页显示记录的条数
/// private int pageSize = 10; public int PageSize { get { return pageSize; } set { pageSize = value; } } /// /// 满足条件的记录总条数
/// private int recordCount = 0; public int RecordCount { get { return recordCount; } set { recordCount = value; InitPageInfo(); } } /// /// 页码总数
/// public int pageNum = 0; public int PageNum { get { if (RecordCount == 0) { pageNum = 0; } else { if (RecordCount % PageSize > 0) { pageNum = RecordCount / PageSize + 1; } else { pageNum = RecordCount / PageSize; } } return pageNum; } } #endregion //定义委托 public delegate void BindHandle(); /// /// 绑定数据源事件
/// public event BindHandle BindSource; public PageNavigator() { InitializeComponent(); } private void btn_First_Click(object sender, EventArgs e) { if (RecordCount > 0) { if (PageIndex == 1) { MessageBox.Show("当前已经是首页"); return; } else { PageIndex = 1; if (BindSource != null) { BindSource(); InitPageInfo(); } } } } private void InitPageInfo() { if (RecordCount == 0 || (RecordCount > 0 && PageIndex > pageNum)) { PageIndex = 1; } lbl_RecordCount.Text = string.Format("共 {0} 条记录 共 {1} 页 当前第 {2} 页", RecordCount, PageNum, PageIndex); txt_CurrentIndex.Text = PageIndex.ToString(); lbl_PageCount.Text = string.Format("共{0}页", PageNum); } private void btn_Previous_Click(object sender, EventArgs e) { if (RecordCount > 0) { if (PageIndex == 1) { MessageBox.Show("当前已经是首页"); return; } else { PageIndex = PageIndex - 1; if (BindSource != null) { BindSource(); InitPageInfo(); } } } } private void btn_Next_Click(object sender, EventArgs e) { if (RecordCount > 0) { if (PageIndex == PageNum) { MessageBox.Show("当前已经是末页"); return; } else { PageIndex = PageIndex + 1; if (BindSource != null) { BindSource(); InitPageInfo(); } } } } private void btn_Last_Click(object sender, EventArgs e) { if (RecordCount > 0) { if (PageIndex == PageNum) { MessageBox.Show("当前已经是末页"); return; } else { PageIndex = PageNum; if (BindSource != null) { BindSource(); InitPageInfo(); } } } } }
//dataGirdView绑定属性时候调用委托 pageNavigator1.BindSource += new BindHandle(BindData);