using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace LYFZ.ComponentLibrary { public partial class PagerEx : UserControl { public delegate void RefreshPage(); private RefreshPage _refresh; /// <summary> /// 页显示数 /// </summary> private int _PageSize; /// <summary> /// 页总数 /// </summary> private int _PageCount = 0; /// <summary> /// 页码 /// </summary> private int _PageIndex = 1; /// <summary> /// 数据条数 /// </summary> private int _Count = 0; /// <summary> /// 跳转页码 /// </summary> private int _GoIndex = 0; public void isEnable() { try { if (_PageIndex == 1) { this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; } else { this.lbtnUP.Enabled = true; this.lbtnfrist.Enabled = true; } if (this._PageIndex == this._PageCount) { this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; } else { this.lbtnDown.Enabled = true; this.lbtnlast.Enabled = true; } if (this._Count == 0) { this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; this.lbtnGO.Enabled = false; } } catch (Exception) { } } /// <summary> /// 获取或设置页显示数量 /// </summary> public int PageSize { get { return _PageSize; } set { _PageSize = value; } } /// <summary> /// 获取或设置页数量 /// </summary> public int PageCount { get { return _PageCount; } set { _PageCount = value; labpcount.Text = _PageCount.ToString(); if (this._PageCount >1) { this.lbtnDown.Enabled = true; this.lbtnlast.Enabled = true; this.lbtnfrist.Enabled = true; this.lbtnUP.Enabled = true; this.lbtnGO.Enabled = true; } if (this._PageCount < Convert.ToInt32(labindex.Text)) { labindex.Text = "1"; } } } /// <summary> /// 获取或设置页码 /// </summary> public int PageIndex { get { return Convert.ToInt32(labindex.Text); } set { _PageIndex = value; } } /// <summary> /// 获取或设置数据总数量 /// </summary> public int Count { get { return _Count; } set { _Count = value; lblCount.Text = Count.ToString(); if (this.Count == 0) { labindex.Text = "1"; this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; this.lbtnGO.Enabled = false; return; } } } /// <summary> /// 获取或设置跳转页面 /// </summary> public int GoIndex { get { return _GoIndex; } set { _GoIndex = value; } } /// <summary> /// 刷新数据 /// </summary> public RefreshPage RefreshData { set { _refresh = value; } } /// <summary> /// 构造函数 /// </summary> public PagerEx() { InitializeComponent(); } #region 按钮事件 private void lbtnfrist_Click(object sender, EventArgs e) { //首页 _PageIndex = 1; labindex.Text = _PageIndex.ToString(); lblCount.Text = Count.ToString(); _refresh(); isEnable(); tbxGo.Text = ""; } private void lbtnUP_Click(object sender, EventArgs e) { //上一页 int tmp = Convert.ToInt32(labindex.Text); tmp = tmp - 1; if (tmp <= 0) { tmp = 1; } _PageIndex = tmp; lblCount.Text = Count.ToString(); labindex.Text = _PageIndex.ToString(); _refresh(); isEnable(); tbxGo.Text = ""; } private void lbtnDown_Click(object sender, EventArgs e) { //下一页 int tmp = Convert.ToInt32(labpcount.Text); int tmp2 = Convert.ToInt32(labindex.Text); tmp2 = tmp2 + 1; if (tmp2 > tmp) { _PageIndex = tmp; labindex.Text = tmp.ToString(); } else { _PageIndex = tmp2; labindex.Text = tmp2.ToString(); } if (this._PageCount == 0) { labindex.Text = "1"; this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; this.lbtnGO.Enabled = false; return; } lblCount.Text = Count.ToString(); _refresh(); isEnable(); tbxGo.Text = ""; } private void lbtnlast_Click(object sender, EventArgs e) { //最后页 _PageIndex = Convert.ToInt32(labpcount.Text); labindex.Text = labpcount.Text; if (this._PageCount == 0) { labindex.Text = "1"; this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; this.lbtnGO.Enabled = false; return; } lblCount.Text = Count.ToString(); _refresh(); isEnable(); tbxGo.Text = ""; } private void lbtnGO_Click(object sender, EventArgs e) { //跳转 int tmp = 0; try { tmp = Convert.ToInt32(tbxGo.Text); } catch { tmp = 1; tbxGo.Text = "1"; } if (tmp <= 0) { tmp = 1; } int tmp2 = Convert.ToInt32(labpcount.Text); if (tmp > tmp2) { _PageIndex = tmp2; } else { _PageIndex = tmp; } if (this._PageCount == 0) { labindex.Text = "1"; tbxGo.Text = ""; this.lbtnDown.Enabled = false; this.lbtnlast.Enabled = false; this.lbtnfrist.Enabled = false; this.lbtnUP.Enabled = false; this.lbtnGO.Enabled = false; return; } lblCount.Text = Count.ToString(); labindex.Text = _PageIndex.ToString(); tbxGo.Text = _PageIndex.ToString(); _refresh(); isEnable(); } #endregion } }