using System;
using System.Windows.Forms;
namespace UserControls.Data
{
public partial class UcPageBar : UserControl
{
public delegate void
GetPageDataEvents(int curPage, int pageSize); //定义委托
public UcPageBar()
{
InitializeComponent();
// UtilityHelper.SetFont(layoutControl1);
}
public event GetPageDataEvents PagerEvent; //定义事件
//选择每页显示条数
private void cbxRowCount_SelectedIndexChanged(object sender,
EventArgs e)
{
RowsCount = Convert.ToInt32(cbxRowCount.Text);
CurrentPage = 1;
if (PagerEvent != null)
BtnEvents(sender, e);
}
//手动输入显示页面编号
private void tbxCurrentPage_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
var page = Convert.ToInt32(tbxCurrentPage.Text);
if (page < 1)
CurrentPage = 1;
else if (page > TotalPages)
CurrentPage = TotalPages;
else
CurrentPage = page;
if (PagerEvent != null)
BtnEvents(sender, e);
}
}
//点击首页按钮
private void lbFirstPage_Click(object sender, EventArgs e)
{
if (CurrentPage == 1)
return;
CurrentPage = 1;
if (PagerEvent != null)
BtnEvents(sender, e);
}
//点击上一页按钮
private void lbPrePage_Click(object sender, EventArgs e)
{
if (CurrentPage == 1)
return;
if (CurrentPage <= TotalPages) CurrentPage -= 1;
if (PagerEvent != null)
BtnEvents(sender, e);
}
//点击下一页按钮
private void lbNextPage_Click(object sender, EventArgs e)
{
if (CurrentPage == TotalPages)
return;
if (CurrentPage < TotalPages) CurrentPage += 1;
if (PagerEvent != null)
BtnEvents(sender, e);
}
//末页按钮
private void lbEnd_Click(object sender, EventArgs e)
{
if (CurrentPage == TotalPages)
return;
CurrentPage = TotalPages;
if (PagerEvent != null)
BtnEvents(sender, e);
}
private void BtnEvents(object sender, EventArgs e)
{
//setTxt();
PagerEvent(CurrentPage, RowsCount);
}
public void setTxt()
{
tbxCurrentPage.Text = CurrentPage.ToString();
lbTotalPages.Text = "共 " + TotalPages + "页";
lbTotalRows.Text = "共 " + RecordCount + " 条记录";
cbxRowCount.Text = RowsCount.ToString();
if (CurrentPage == 1)
lbFirstPage.Enabled = false;
else
lbFirstPage.Enabled = true;
if (CurrentPage == TotalPages)
lbEnd.Enabled = false;
else
lbEnd.Enabled = true;
if (CurrentPage == 1)
lbPrePage.Enabled = false;
else
lbPrePage.Enabled = true;
if (CurrentPage == TotalPages)
lbNextPage.Enabled = false;
else
lbNextPage.Enabled = true;
}
#region 定义属性
///
/// 总页数
///
public int TotalPages { get; set; }
///
/// 当前页
///
public int CurrentPage { get; set; }
///
/// 每页条数
///
public int RowsCount { get; set; }
///
/// 总记录数
///
public int RecordCount { get; set; }
#endregion
}
}