自定义winform分页控件
2011-06-12 14:02
253 查看
效果如下:
![](http://images.cnblogs.com/cnblogs_com/nosnowwolf/pager.jpg)
代码实现如下:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
namespace WindowsApp.MyControl
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 申明委托
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns></returns>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public delegate int EventPagingHandler(EventPagingArg e);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 分页控件呈现
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public partial class Pager : UserControl
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public Pager()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitializeComponent();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public event EventPagingHandler EventPaging;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageSize = 20;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageSize
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageSize; }
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_pageSize = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
GetPageCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _nMax = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int NMax
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _nMax; }
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_nMax = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
GetPageCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 页数=总记录数/每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageCount; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{ _pageCount = value; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageCurrent = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 当前页号
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCurrent
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageCurrent; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{ _pageCurrent = value; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void GetPageCount()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.NMax > 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCount = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(this.NMax) / Convert.ToDouble(this.PageSize)));
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 翻页控件数据绑定的方法
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public void Bind()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.EventPaging != null)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.NMax = this.EventPaging(new EventPagingArg(this.PageCurrent));
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent > this.PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent = this.PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCount == 1)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
lblPageCount.Text = this.PageCount.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.lblMaxPage.Text = "共"+this.NMax.ToString()+"条记录";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.txtCurrentPage.Text = this.PageCurrent.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent == 1)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnPrev.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnFirst.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnPrev.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnFirst.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent == this.PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnLast.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnNext.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnLast.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnNext.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.NMax == 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnNext.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnLast.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnFirst.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnPrev.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnFirst_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnPrev_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent -= 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (PageCurrent <= 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnNext_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent += 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (PageCurrent > PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnLast_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnGo_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.txtCurrentPage.Text != null && txtCurrentPage.Text != "")
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Int32.TryParse(txtCurrentPage.Text, out _pageCurrent))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Common.MessageProcess.ShowError("输入数字格式错误!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 自定义事件数据基类
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public class EventPagingArg : EventArgs
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _intPageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public EventPagingArg(int PageIndex)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_intPageIndex = PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
控件功能基本实现。
如何绑定数据呢?
大数量分页,使用存储过程。
这个存储过程是网络上考的,呵呵。我把它给贴出来,希望原作者别砸我砖头。。。。。
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ALTER PROCEDURE SP_Pagination
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
***************************************************************
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
** 千万数量级分页存储过程 **
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
***************************************************************
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
参数说明:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
1.Tables :表名称,视图
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
2.PrimaryKey :主关键字
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3.Sort :排序语句,不带Order By 比如:NewsID Desc,OrderRows Asc
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4.CurrentPage :当前页码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5.PageSize :分页尺寸
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6.Filter :过滤语句,不带Where
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7.Group :Group语句,不带Group By
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
效果演示:http://www.cn5135.com/_App/Enterprise/QueryResult.aspx
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
***************************************************************/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
(
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Tables varchar(2000),
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@PrimaryKey varchar(500),
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Sort varchar(500) = NULL,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@CurrentPage int = 1,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@PageSize int = 10,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Fields varchar(2000) = '*',
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Filter varchar(1000) = NULL,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Group varchar(1000) = NULL
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
AS
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*默认排序*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Sort IS NULL OR @Sort = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @Sort = @PrimaryKey
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortTable varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortName varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strSortColumn varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @operator char(2)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @type varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @prec int
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*设定排序语句.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('DESC',@Sort)>0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSortColumn = REPLACE(@Sort, 'DESC', '')
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @operator = '<='
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('ASC', @Sort) = 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSortColumn = REPLACE(@Sort, 'ASC', '')
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @operator = '>='
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('.', @strSortColumn) > 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortTable = SUBSTRING(@strSortColumn, 0, CHARINDEX('.',@strSortColumn))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortName = SUBSTRING(@strSortColumn, CHARINDEX('.',@strSortColumn) + 1, LEN(@strSortColumn))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortTable = @Tables
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortName = @strSortColumn
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT @type=t.name, @prec=c.prec
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
FROM sysobjects o
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JOIN syscolumns c on o.id=c.id
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JOIN systypes t on c.xusertype=t.xusertype
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
WHERE o.name = @SortTable AND c.name = @SortName
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('char', @type) > 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strPageSize varchar(500)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strStartRow varchar(500)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strFilter varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strSimpleFilter varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strGroup varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*默认当前页*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @CurrentPage < 1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @CurrentPage = 1
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*设置分页参数.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strPageSize = CAST(@PageSize AS varchar(500))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strStartRow = CAST(((@CurrentPage - 1)*@PageSize + 1) AS varchar(500))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*筛选以及分组语句.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Filter IS NOT NULL AND @Filter != ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strFilter = ' WHERE ' + @Filter + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSimpleFilter = ' AND ' + @Filter + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSimpleFilter = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strFilter = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Group IS NOT NULL AND @Group != ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strGroup = ' GROUP BY ' + @Group + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strGroup = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*执行查询语句*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
EXEC(
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortColumn ' + @type + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET ROWCOUNT ' + @strStartRow + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT @SortColumn=' + @strSortColumn + ' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET ROWCOUNT ' + @strPageSize + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE ' + @strSortColumn + @operator + ' @SortColumn ' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
使用该存储过陈,得到数据,将数据绑定到数据控件,提供了一个pageData类
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 数据源提供
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class PageData
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageSize = 10;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageIndex = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _TotalCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _TableName;//表名
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _QueryFieldName = "*";//表字段FieldStr
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _OrderStr = string.Empty; //排序_SortStr
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _QueryCondition = string.Empty;//查询的条件 RowFilter
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _PrimaryKey = string.Empty;//主键
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 显示页数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageSize
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageSize = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 当前页
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageIndex
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总页数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int TotalCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _TotalCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 表名,包括视图
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string TableName
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_TableName = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 表字段FieldStr
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string QueryFieldName
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _QueryFieldName;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_QueryFieldName = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 排序字段
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string OrderStr
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _OrderStr;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_OrderStr = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 查询条件
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string QueryCondition
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_QueryCondition = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 主键
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string PrimaryKey
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PrimaryKey;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PrimaryKey = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public DataSet QueryDataTable()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
SqlParameter[] parameters =
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Tables", SqlDbType.VarChar, 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@PrimaryKey" , SqlDbType.VarChar , 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Sort", SqlDbType.VarChar , 255 ),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@CurrentPage", SqlDbType.Int),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@PageSize", SqlDbType.Int),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Fields", SqlDbType.VarChar, 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Filter", SqlDbType.VarChar,1000),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Group" ,SqlDbType.VarChar , 1000 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
};
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[0].Value = _TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[1].Value = _PrimaryKey;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[2].Value = _OrderStr;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[3].Value = PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[4].Value = PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[5].Value =_QueryFieldName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[6].Value = _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[7].Value = string.Empty;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet ds = DbHelperSQL.RunProcedure("SP_Pagination", parameters, "dd");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_TotalCount = GetTotalCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_TotalCount == 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageCount = _TotalCount % _PageSize == 0 ? _TotalCount / _PageSize : _TotalCount / _PageSize + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_PageIndex > _PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = _PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[4].Value = _PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ds = QueryDataTable();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return ds;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int GetTotalCount()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strSql = " select count(1) from "+_TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_QueryCondition != string.Empty)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strSql +=" where " + _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return int.Parse(DbHelperSQL.GetSingle(strSql).ToString());
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
好了,在页面放个DATAGRIDVIEW 拖入控件pager
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ReceiveOrderJLForm_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private int dgvBind()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WindowsApp.MyControl.PageData pageData = new WindowsApp.MyControl.PageData();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.TableName = "T_ReceiveOrder";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PrimaryKey = "ReceiveOrderID";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.OrderStr = "ReceiveOrderID desc";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PageIndex = this.pager1.PageCurrent;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PageSize = this.pager1.PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.QueryCondition = _strSql + strWhere.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.QueryFieldName = "*";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.bindingSource.DataSource = pageData.QueryDataTable().Tables[0];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.bindingNavigator.BindingSource = pager1.bindingSource;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dgvReceiveOrder.AutoGenerateColumns = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dgvReceiveOrder.DataSource = this.pager1.bindingSource;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return pageData.TotalCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private int pager1_EventPaging(WindowsApp.MyControl.EventPagingArg e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return dgvBind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
效果如下
![](http://images.cnblogs.com/cnblogs_com/nosnowwolf/00.jpg)
===========
很多朋友根据原文的方法编写代码后,出现了“不到BindingSource属性”的问题。
该问题的解决方法:
将bindingSource和bindingNavigator的Modifiers属性设置为public即可。
![](http://images.cnblogs.com/cnblogs_com/nosnowwolf/pager.jpg)
代码实现如下:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
namespace WindowsApp.MyControl
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 申明委托
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// <param name="e"></param>
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns></returns>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public delegate int EventPagingHandler(EventPagingArg e);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 分页控件呈现
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public partial class Pager : UserControl
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public Pager()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitializeComponent();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public event EventPagingHandler EventPaging;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageSize = 20;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageSize
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageSize; }
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_pageSize = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
GetPageCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _nMax = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int NMax
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _nMax; }
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_nMax = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
GetPageCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 页数=总记录数/每页显示记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageCount; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{ _pageCount = value; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _pageCurrent = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 当前页号
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCurrent
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{ return _pageCurrent; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{ _pageCurrent = value; }
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void GetPageCount()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.NMax > 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCount = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(this.NMax) / Convert.ToDouble(this.PageSize)));
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 翻页控件数据绑定的方法
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public void Bind()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.EventPaging != null)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.NMax = this.EventPaging(new EventPagingArg(this.PageCurrent));
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent > this.PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent = this.PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCount == 1)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
lblPageCount.Text = this.PageCount.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.lblMaxPage.Text = "共"+this.NMax.ToString()+"条记录";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.txtCurrentPage.Text = this.PageCurrent.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent == 1)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnPrev.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnFirst.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnPrev.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnFirst.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.PageCurrent == this.PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnLast.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.btnNext.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnLast.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnNext.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.NMax == 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnNext.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnLast.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnFirst.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
btnPrev.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnFirst_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnPrev_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent -= 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (PageCurrent <= 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnNext_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.PageCurrent += 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (PageCurrent > PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnLast_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
PageCurrent = PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private void btnGo_Click(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (this.txtCurrentPage.Text != null && txtCurrentPage.Text != "")
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Int32.TryParse(txtCurrentPage.Text, out _pageCurrent))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Common.MessageProcess.ShowError("输入数字格式错误!");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 自定义事件数据基类
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public class EventPagingArg : EventArgs
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _intPageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public EventPagingArg(int PageIndex)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_intPageIndex = PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
控件功能基本实现。
如何绑定数据呢?
大数量分页,使用存储过程。
这个存储过程是网络上考的,呵呵。我把它给贴出来,希望原作者别砸我砖头。。。。。
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ALTER PROCEDURE SP_Pagination
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
***************************************************************
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
** 千万数量级分页存储过程 **
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
***************************************************************
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
参数说明:
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
1.Tables :表名称,视图
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
2.PrimaryKey :主关键字
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3.Sort :排序语句,不带Order By 比如:NewsID Desc,OrderRows Asc
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4.CurrentPage :当前页码
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5.PageSize :分页尺寸
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6.Filter :过滤语句,不带Where
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7.Group :Group语句,不带Group By
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
效果演示:http://www.cn5135.com/_App/Enterprise/QueryResult.aspx
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
***************************************************************/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
(
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Tables varchar(2000),
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@PrimaryKey varchar(500),
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Sort varchar(500) = NULL,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@CurrentPage int = 1,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@PageSize int = 10,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Fields varchar(2000) = '*',
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Filter varchar(1000) = NULL,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
@Group varchar(1000) = NULL
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
AS
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*默认排序*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Sort IS NULL OR @Sort = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @Sort = @PrimaryKey
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortTable varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortName varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strSortColumn varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @operator char(2)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @type varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @prec int
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*设定排序语句.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('DESC',@Sort)>0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSortColumn = REPLACE(@Sort, 'DESC', '')
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @operator = '<='
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('ASC', @Sort) = 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSortColumn = REPLACE(@Sort, 'ASC', '')
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @operator = '>='
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('.', @strSortColumn) > 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortTable = SUBSTRING(@strSortColumn, 0, CHARINDEX('.',@strSortColumn))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortName = SUBSTRING(@strSortColumn, CHARINDEX('.',@strSortColumn) + 1, LEN(@strSortColumn))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortTable = @Tables
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @SortName = @strSortColumn
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT @type=t.name, @prec=c.prec
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
FROM sysobjects o
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JOIN syscolumns c on o.id=c.id
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
JOIN systypes t on c.xusertype=t.xusertype
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
WHERE o.name = @SortTable AND c.name = @SortName
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF CHARINDEX('char', @type) > 0
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strPageSize varchar(500)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strStartRow varchar(500)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strFilter varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strSimpleFilter varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @strGroup varchar(1000)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*默认当前页*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @CurrentPage < 1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @CurrentPage = 1
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*设置分页参数.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strPageSize = CAST(@PageSize AS varchar(500))
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strStartRow = CAST(((@CurrentPage - 1)*@PageSize + 1) AS varchar(500))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*筛选以及分组语句.*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Filter IS NOT NULL AND @Filter != ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strFilter = ' WHERE ' + @Filter + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSimpleFilter = ' AND ' + @Filter + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
BEGIN
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strSimpleFilter = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strFilter = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
END
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
IF @Group IS NOT NULL AND @Group != ''
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strGroup = ' GROUP BY ' + @Group + ' '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ELSE
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET @strGroup = ''
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//*执行查询语句*/
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
EXEC(
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
DECLARE @SortColumn ' + @type + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET ROWCOUNT ' + @strStartRow + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT @SortColumn=' + @strSortColumn + ' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SET ROWCOUNT ' + @strPageSize + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE ' + @strSortColumn + @operator + ' @SortColumn ' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
'
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
使用该存储过陈,得到数据,将数据绑定到数据控件,提供了一个pageData类
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 数据源提供
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class PageData
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageSize = 10;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageIndex = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int _TotalCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _TableName;//表名
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _QueryFieldName = "*";//表字段FieldStr
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _OrderStr = string.Empty; //排序_SortStr
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _QueryCondition = string.Empty;//查询的条件 RowFilter
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string _PrimaryKey = string.Empty;//主键
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 显示页数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageSize
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageSize = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 当前页
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageIndex
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总页数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int PageCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 总记录数
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int TotalCount
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _TotalCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 表名,包括视图
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string TableName
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_TableName = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 表字段FieldStr
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string QueryFieldName
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _QueryFieldName;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_QueryFieldName = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 排序字段
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string OrderStr
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _OrderStr;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_OrderStr = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 查询条件
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string QueryCondition
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
get
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
set
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_QueryCondition = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 主键
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public string PrimaryKey
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
get
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return _PrimaryKey;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
set
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PrimaryKey = value;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public DataSet QueryDataTable()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
SqlParameter[] parameters =
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Tables", SqlDbType.VarChar, 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@PrimaryKey" , SqlDbType.VarChar , 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Sort", SqlDbType.VarChar , 255 ),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@CurrentPage", SqlDbType.Int),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@PageSize", SqlDbType.Int),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Fields", SqlDbType.VarChar, 255),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Filter", SqlDbType.VarChar,1000),
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
new SqlParameter("@Group" ,SqlDbType.VarChar , 1000 )
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
};
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[0].Value = _TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[1].Value = _PrimaryKey;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[2].Value = _OrderStr;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[3].Value = PageIndex;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[4].Value = PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[5].Value =_QueryFieldName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[6].Value = _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[7].Value = string.Empty;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DataSet ds = DbHelperSQL.RunProcedure("SP_Pagination", parameters, "dd");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_TotalCount = GetTotalCount();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_TotalCount == 0)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageCount = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageCount = _TotalCount % _PageSize == 0 ? _TotalCount / _PageSize : _TotalCount / _PageSize + 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_PageIndex > _PageCount)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
_PageIndex = _PageCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
parameters[4].Value = _PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ds = QueryDataTable();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return ds;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int GetTotalCount()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strSql = " select count(1) from "+_TableName;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (_QueryCondition != string.Empty)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strSql +=" where " + _QueryCondition;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return int.Parse(DbHelperSQL.GetSingle(strSql).ToString());
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
好了,在页面放个DATAGRIDVIEW 拖入控件pager
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ReceiveOrderJLForm_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.PageCurrent = 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.Bind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private int dgvBind()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
WindowsApp.MyControl.PageData pageData = new WindowsApp.MyControl.PageData();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.TableName = "T_ReceiveOrder";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PrimaryKey = "ReceiveOrderID";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.OrderStr = "ReceiveOrderID desc";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PageIndex = this.pager1.PageCurrent;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.PageSize = this.pager1.PageSize;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.QueryCondition = _strSql + strWhere.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
pageData.QueryFieldName = "*";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.bindingSource.DataSource = pageData.QueryDataTable().Tables[0];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.pager1.bindingNavigator.BindingSource = pager1.bindingSource;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dgvReceiveOrder.AutoGenerateColumns = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dgvReceiveOrder.DataSource = this.pager1.bindingSource;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return pageData.TotalCount;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private int pager1_EventPaging(WindowsApp.MyControl.EventPagingArg e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return dgvBind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
效果如下
![](http://images.cnblogs.com/cnblogs_com/nosnowwolf/00.jpg)
===========
很多朋友根据原文的方法编写代码后,出现了“不到BindingSource属性”的问题。
该问题的解决方法:
将bindingSource和bindingNavigator的Modifiers属性设置为public即可。
相关文章推荐
- C# WinForm 技巧一: 自定义分页控件
- Winform自定义分页控件的实现
- 练习.net WinForm开发(一):自定义分页控件(2)
- 自定义winform分页控件(转)
- 自定义winform分页控件
- C# WinForm 技巧一: 自定义分页控件
- winform基础篇之控件bindingNavigator、BindingSource、datagridview实现分页效果
- Winform分页控件重大更新,并实现普通版、DotNetBar、DevExpress三大版本整合更新(附各种例子源码)
- Winform自定义窗体与控件的外观形状
- GridView控件自定义分页详解
- DataGrid自定义分页控件WebControl
- C# WinForm 封装自定义组件(控件)Dll
- winform自定义分页
- Winform分页控件使用详细介绍
- 分享一个Winform下的分页控件
- [WinForm ADO.NET实现TaskVision][SQL Server 2008][winform datagridview总结][自定义Custom控件]Winform DataGridView各种现有column及自定义column+Winform自定义控件
- winform 分页控件,源码下载
- C#自定义分页控件3.0
- [GridView控件]自定义分页
- C#自定义分页控件第二版