using System;
using System.Collections.Generic;
using System.Data;
using System.Web;
using MySQLDriverCS;
namespace Pan.Uilt
{
public class Paging
{
public Paging(string sql,int number)
{
//数据集
das = new DataSet();
paging = new DataSet();
da=new Pan.DAL.Sql.SQLHelper().Adapter(sql);
da.Fill(das);
//每页的数量
this.number = number;
//总页数
float tmp=das.Tables[0].Rows.Count/number;
this.count=(int)Math.Ceiling(tmp);
//判断是否有余数,有的话 页数就要加1
if ((this.remainder = das.Tables[0].Rows.Count % number) != 0)
{
this.count += 1;//加上最后一页
}
}
/// <summary>
/// 余数
/// </summary>
public int remainder { set; get; }
/// <summary>
/// 临时存放结果的数据集
/// </summary>
public DataSet das { set; get; }
/// <summary>
/// 数据适配器
/// </summary>
public MySQLDataAdapter da { set; get; }
/// <summary>
/// 数据集
/// </summary>
public DataSet ds { set; get; }
/// <summary>
/// 总页数
/// </summary>
public int count { set; get; }
/// <summary>
/// 每页的数量
/// </summary>
public int number { set; get; }
/// <summary>
/// 分好页的数据
/// </summary>
public DataSet paging { set; get; }
/// <summary>
/// 传入页的索引,返回数据索引集
/// </summary>
/// <param name="page"></param>
/// <returns></returns>
public DataSet indexs(int page)
{
//页数*分页数-页数=起始位置
int start = (page * number) - number;
//先清空数据
paging.Clear();
//取得分页的数据
//如果是最后一页的时候,并有有余数的时候
if (page == this.count && this.remainder != 0)
{
da.Fill(paging,start,this.remainder,"table");
}
else
{
da.Fill(paging, start, number, "table");
}
return paging;
}
}
}
|
web 分页算法
最新推荐文章于 2022-04-12 23:02:58 发布