public class DotNetPagedData : System.Web.UI.Page
{
private System.Web.UI.WebControls.GridView gridview = null;
private System.Web.UI.WebControls.DataList datalist = null;
private System.Web.UI.WebControls.Repeater repeater = null;
private System.Web.UI.WebControls.HyperLink lnknext;
private System.Web.UI.WebControls.HyperLink lnkprev;
private System.Web.UI.WebControls.HyperLink lnkfist;
private System.Web.UI.WebControls.HyperLink lnklast;
private System.Web.UI.WebControls.HyperLink lnkjump;
private System.Web.UI.WebControls.Label pagenum;
private System.Web.UI.WebControls.Label pagecount;
private System.Web.UI.WebControls.Panel pagedPanel;
private System.Web.UI.WebControls.DropDownList list;
public DotNetPagedData()
{
//
// TOD 在此处添加构造函数逻辑
//
}
public System.Web.UI.WebControls.GridView GridView
{
get
{
return this.gridview;
}
set
{
this.gridview = value;
}
}
public System.Web.UI.WebControls.DataList Datalist
{
get
{
return this.datalist;
}
set
{
this.datalist = value;
}
}
public System.Web.UI.WebControls.Repeater Repeater
{
get
{
return this.repeater;
}
set
{
this.repeater = value;
}
}
public System.Web.UI.WebControls.HyperLink Lnkprev
{
get
{
return this.lnkprev;
}
set
{
this.lnkprev = value;
}
}
public System.Web.UI.WebControls.HyperLink Lnknext
{
get
{
return this.lnknext;
}
set
{
this.lnknext = value;
}
}
public System.Web.UI.WebControls.HyperLink Lnkfist
{
get
{
return this.lnkfist;
}
set
{
this.lnkfist = value;
}
}
public System.Web.UI.WebControls.HyperLink Lnklast
{
get
{
return this.lnklast;
}
set
{
this.lnklast = value;
}
}
public System.Web.UI.WebControls.HyperLink Lnkjump
{
get
{
return this.lnkjump;
}
set
{
this.lnkjump = value;
}
}
public System.Web.UI.WebControls.Label Pagenum
{
get
{
return this.pagenum;
}
set
{
this.pagenum = value;
}
}
public System.Web.UI.WebControls.Label Pagecount
{
get
{
return this.pagecount;
}
set
{
this.pagecount = value;
}
}
public System.Web.UI.WebControls.DropDownList List
{
get
{
return this.list;
}
set
{
this.list = value;
}
}
public System.Web.UI.WebControls.Panel PagedPanel
{
get
{
return this.pagedPanel;
}
set
{
this.pagedPanel = value;
}
}
//针对一般数据邦定,不执行sqlstr
public void datapage(DataSet ds, int pagenum)
{
PagedDataSource objPds = new PagedDataSource();
objPds.AllowPaging = true;
//每页显示数目
objPds.PageSize = pagenum;
//指定数据源
objPds.DataSource = ds.Tables[0].DefaultView;
int CurPage;
//绑定dropdownlist数据
for (int i = 1; i <= objPds.PageCount; i++)
{
this.list.Items.Add(i.ToString());
}
this.list.Items.Insert(0, new ListItem("页数", ""));
//确定当前页数
if (System.Web.HttpContext.Current.Request.Params["Page"] != null)
{
CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);
}
else
{
CurPage = 1;
}
objPds.CurrentPageIndex = CurPage - 1;
if (objPds.PageCount > 1)
{
pagedPanel.Visible = true;
}
else
{
pagedPanel.Visible = false;
}
//显示当前页数
this.pagenum.Text = "当前:" + CurPage.ToString() + "页";
//显示总共页数
this.pagecount.Text = "共有" + objPds.PageCount + "页";
//下一页
if (!objPds.IsLastPage)
{
lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
}
//上一页
if (!objPds.IsFirstPage)
{
lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
}
//第一页
if (CurPage != 1)
{
lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
}
//最后一页
if (CurPage != objPds.PageCount)
{
lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount);
}
//绑定gridview
if (this.gridview != null)
{
gridview.DataSource = objPds;
gridview.DataBind();
}
//绑定datalist
if (this.datalist != null)
{
datalist.DataSource = objPds;
datalist.DataBind();
}
//绑定repeater
if (this.repeater != null)
{
repeater.DataSource = objPds;
repeater.DataBind();
}
}
//重载,针对执行sqlstr
public void datapage(string sqlcon, string sqlstr, int pagenum)
{
SqlConnection objConn = new SqlConnection(sqlcon);
SqlDataAdapter objCommand = new SqlDataAdapter(sqlstr, objConn);
DataSet ds = new DataSet();
objCommand.Fill(ds);
PagedDataSource objPds = new PagedDataSource();
objPds.AllowPaging = true;
//每页显示数目
objPds.PageSize = pagenum;
//指定数据源
objPds.DataSource = ds.Tables[0].DefaultView;
int CurPage;
//绑定dropdownlist数据
for (int i = 1; i <= objPds.PageCount; i++)
{
this.list.Items.Add(i.ToString());
}
this.list.Items.Insert(0, new ListItem("页数", ""));
//确定当前页数
if (System.Web.HttpContext.Current.Request.Params["Page"] != null)
{
CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);
}
else
{
CurPage = 1;
}
objPds.CurrentPageIndex = CurPage - 1;
if (objPds.PageCount > 1)
{
pagedPanel.Visible = true;
}
else
{
pagedPanel.Visible = false;
}
//显示当前页数
this.pagenum.Text = "当前:" + "第" + CurPage.ToString() + "页";
//显示总共页数
this.pagecount.Text = "共有" + objPds.PageCount + "页";
//下一页
if (!objPds.IsLastPage)
{
lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
}
//上一页
if (!objPds.IsFirstPage)
{
lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
}
//第一页
if (CurPage != 1)
{
lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
}
//最后一页
if (CurPage != objPds.PageCount)
{
lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount);
}
//绑定gridview
if (this.gridview != null)
{
gridview.DataSource = objPds;
gridview.DataBind();
}
//绑定datalist
if (this.datalist != null)
{
datalist.DataSource = objPds;
datalist.DataBind();
}
//绑定repeater
if (this.repeater != null)
{
repeater.DataSource = objPds;
repeater.DataBind();
}
}
//dropdownlist选择改变
public void select()
{
this.lnkjump.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(this.list.SelectedItem.Value);
}
}
}
来源:网络