PageDataSource 分页实例 并实现跳转
ViewState 保存pageindex和pagecount
public int pageIndex
{
get
{
if (ViewState["pageIndex"] == null)
{
ViewState["pageIndex"] = 0;
}
return Convert.ToInt32(ViewState["pageIndex"]);
}
set
{
ViewState["pageIndex"] = value;
}
}
public int pageCount
{
get
{
if (ViewState["pageCount"] == null)
{
ViewState["pageCount"] = 0;
}
return Convert.ToInt32(ViewState["pageCount"]);
}
set
{
ViewState["pageCount"] = value;
}
}
绑定方法和跳转功能下的绑定方法
/// <summary>
/// 绑定方法
/// </summary>
public void Bind()
{
DataSet ds = pm.selectPoList();
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 1;
pds.CurrentPageIndex = pageIndex;
pageCount = pds.PageCount - 1;
this.lblpageTotal.Text = "当前第" + (pageIndex + 1).ToString() + "页/总共" + (pageCount + 1).ToString() + "页";
this.GridView1.DataSource = pds;
this.GridView1.DataBind();
}
/// <summary>
///跳转 绑定方法
/// </summary>
public void Bind1(int index)
{
DataSet ds = pm.selectPoList();
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 1;
pds.CurrentPageIndex = index - 1;
pageCount = pds.PageCount - 1;
this.lblpageTotal.Text = "当前第" + (index).ToString() + "页/总共" + (pageCount + 1).ToString() + "页";
pageIndex = index - 1;
this.GridView1.DataSource = pds;
this.GridView1.DataBind();
}
上下页及跳转。。。
/// <summary>
/// 首页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnFirst_Click(object sender, EventArgs e)
{
if (pageIndex != 0)
{
pageIndex = 0;
this.btnFirst.Enabled = false;
this.btnUP.Enabled = false;
this.btnLast.Enabled = true;
this.btnNext.Enabled = true;
Bind();
}
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUP_Click(object sender, EventArgs e)
{
if (pageIndex != 0)
{
pageIndex--;
this.btnFirst.Enabled = true;
this.btnNext.Enabled = true;
this.btnLast.Enabled = true;
Bind();
}
else
{
this.btnFirst.Enabled = false;
this.btnUP.Enabled = false;
this.btnNext.Enabled = true;
this.btnLast.Enabled = true;
}
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNext_Click(object sender, EventArgs e)
{
if (pageIndex != pageCount)
{
pageIndex++;
this.btnFirst.Enabled = true;
this.btnUP.Enabled = true;
this.btnLast.Enabled = true;
Bind();
}
else
{
this.btnFirst.Enabled = true;
this.btnUP.Enabled = true;
this.btnLast.Enabled = false;
this.btnNext.Enabled = false;
}
}
/// <summary>
/// 末页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLast_Click(object sender, EventArgs e)
{
if (pageIndex != pageCount)
{
pageIndex = pageCount;
this.btnNext.Enabled = false;
this.btnLast.Enabled = false;
this.btnUP.Enabled = true;
this.btnFirst.Enabled = true;
Bind();
}
else
{
this.btnNext.Enabled = false;
this.btnLast.Enabled = false;
this.btnUP.Enabled = true;
this.btnFirst.Enabled = true;
}
}
/// <summary>
/// 跳转
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnGo_Click(object sender, EventArgs e)
{
int aaa = Convert.ToInt32(this.txtpage.Text.Trim());
if (this.txtpage.Text.Trim().ToString() == "" || System.Text.RegularExpressions.Regex.IsMatch(txtpage.Text, @"^[-]?/d+[.]?/d*$") != true || Convert.ToInt32(this.txtpage.Text.Trim().ToString()) < 0 || Convert.ToInt32(this.txtpage.Text.Trim()) > pageCount + 1 || Convert.ToInt32(this.txtpage.Text.Trim()) == 0)
{
Response.Write("<mce:script type="text/javascript"><!--
alert('请正确填写跳转页数!');
// --></mce:script>");
this.txtpage.Text = "";
}
else
{
int a = Convert.ToInt32(this.txtpage.Text.Trim());
if (a == 6)
{
btnFirst.Enabled = true;
btnUP.Enabled = true;
}
else
{
Bind1(a);
this.btnNext.Enabled = true;
this.btnLast.Enabled = true;
btnFirst.Enabled = true;
btnUP.Enabled = true;
}
}
}
转载请注明原文地址: https://ibbs.8miu.com/read-2217649.html