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;
///
/// 页显示数
///
private int _PageSize;
///
/// 页总数
///
private int _PageCount = 0;
///
/// 页码
///
private int _PageIndex = 1;
///
/// 数据条数
///
private int _Count = 0;
///
/// 跳转页码
///
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)
{
}
}
///
/// 获取或设置页显示数量
///
public int PageSize
{
get { return _PageSize; }
set { _PageSize = value; }
}
///
/// 获取或设置页数量
///
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";
}
}
}
///
/// 获取或设置页码
///
public int PageIndex
{
get { return Convert.ToInt32(labindex.Text); }
set { _PageIndex = value; }
}
///
/// 获取或设置数据总数量
///
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;
}
}
}
///
/// 获取或设置跳转页面
///
public int GoIndex
{
get { return _GoIndex; }
set { _GoIndex = value; }
}
///
/// 刷新数据
///
public RefreshPage RefreshData
{
set
{
_refresh = value;
}
}
///
/// 构造函数
///
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
}
}