#region 对分页控件进行分页的封装
/// <summary>
/// 分页
/// </summary>
/// <param name="pagesize">设定分页大的小</param>
/// <param name="dst">需要的数据集</param>
/// <param name="nowpage">传递当前页数</param>
/// <returns>返回值解释:返回分页总数:result[0],上一页:result[1],下一页:result[2],pad:result[3]</returns>
public object [] Page(int pagesize,DataSet dst,int nowpage)
{
int pageCount = 0;//总页数
int recordCount = 0;//总行数
object [] result = new object[4];//返回的字符串
PagedDataSource pad = new PagedDataSource();
pad.DataSource = dst.Tables[0].DefaultView;
pad.AllowPaging = true;
pad.PageSize = pagesize;//分页大小
recordCount = dst.Tables[0].Rows.Count;//得到总行数。。。
pageCount = recordCount / pad.PageSize;//得到总页数。。。
if (recordCount % pad.PageSize > 0)
{
pageCount++;//就是说如果最后一页小于三行时在得到总页数时会少一页。。而这里通此式判断可以加上那一页。。
}
result[0] = pageCount.ToString();//返回总页数
pad.CurrentPageIndex = nowpage - 1;//????????
//判断是否为上一页
if (!pad.IsFirstPage)
{
result[1] = Convert.ToString(nowpage - 1);
}
else
{
result[1] = null;
}
//判断是否为下一页
if (!pad.IsLastPage)
{
result[2] = Convert.ToString(nowpage + 1);
}
else
{
result[2] = null;
}
result[3] = pad;
return result;
}