分页按钮与GridView分开
---------------- --前台代码------------
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
PageSize="5" onpageindexchanging="GridView1_PageIndexChanging"
onrowdatabound="GridView1_RowDataBound" ShowFooter="True">
<PagerSettings FirstPageText="l&lt;" LastPageText="&gt;l"
Mode="NextPreviousFirstLast" Visible="False" />
<PagerTemplate>
<asp:Button ID="Button1" runat="server" CommandArgument="First"
CommandName="page" Text="|<" Width="30px" /> 
<asp:Button ID="Button2" runat="server" CommandArgument="Prev"
CommandName="page" Text="<" Width="30px" /> 
<asp:Button ID="Button3" runat="server" CommandArgument="Next"
CommandName="page" Text=">" Width="30px" /> 
<asp:Button ID="Button4" runat="server" CommandArgument="Last"
CommandName="page" Text=">|" Width="30px" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</PagerTemplate>
</asp:GridView>
<br />
<asp:Button ID="BtnFirst" runat="server" onclick="BtnFirst_Click" Text="第一页" />
<asp:Button ID="BtnPrev" runat="server" onclick="BtnPrev_Click" Text="上一页" />
<asp:Button ID="BtnNext" runat="server" onclick="BtnNext_Click" Text="下一页" />
<asp:Button ID="BtnLast" runat="server" onclick="BtnLast_Click" Text="末一页" />
------------------------后台代码-----------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataSet和SqlHelper;
using System.Data;
namespace _12_6
{
public partial class Page1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindStudent();
}
}
private void BindStudent()
{
string sql = "select * from student";
DataTable dt = sqlhelper.ExecuteDataTable(sql);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
this.GridView2.DataSource = dt;
this.GridView2.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{
(e.Row.Cells[0].FindControl("Label1") as Label).Text = "这是第"+ (GridView1.PageIndex + 1).ToString() + "页,共" + GridView1.PageCount + "页";
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
if (e.NewPageIndex >= 0)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.BindStudent();
}
}
protected void BtnFirst_Click(object sender, EventArgs e)
{
this.GridView2.PageIndex = 0;
this.BindStudent();
}
protected void BtnLast_Click(object sender, EventArgs e)
{
this.GridView2.PageIndex = this.GridView2.PageCount - 1;
this.BindStudent();
}
protected void BtnPrev_Click(object sender, EventArgs e)
{
int index = this.GridView2.PageIndex;
if (index >= 1)
{
index--;
}
this.GridView2.PageIndex = index;
this.BindStudent();
}
protected void BtnNext_Click(object sender, EventArgs e)
{
int index = this.GridView2.PageIndex;
if (index<this.GridView2.PageCount+1)
{
index++;
}
this.GridView2.PageIndex = index;
this.BindStudent();
}
}
}
实现结果入下:
第二种方法:使用个性化显示的AspNetPager.dll进行分页
此处需要添加aspnetpager.dll的引用
前台:
代码
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" >
</asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
CustomInfoHTML="第%CurrentPageIndex%页,共%PageCount%页,每页%PageSize%条"
FirstPageText="首页" LastPageText="尾页" LayoutType="Table" NextPageText="下一页"
onpagechanging="AspNetPager1_PageChanging" PageIndexBoxType="DropDownList"
PagingButtonLayoutType="Span" PrevPageText="上一页" ShowCustomInfoSection="Left"
ShowPageIndexBox="Always" SubmitButtonText="Go" PageSize="4" TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到">
</webdiyer:AspNetPager>
</div>
</form>
后台:
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using JXSoft.TicketManage.Model;
using JXSoft.TicketManage.BLL;
using System.Text.RegularExpressions;
using System.Data;
namespace JXSoft.TicketManage.Web
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
BindData();
}
}
protected void BindData()
{
DataTable dt=new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
for (int i = 0; i < 10;i++ )
{
dt.Rows.Add(i.ToString(), i.ToString());
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
Pager(this.GridView1, this.AspNetPager1, ds);
}
protected void Pager(GridView dl, Wuqi.Webdiyer.AspNetPager anp, System.Data.DataSet dst)
{
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dst.Tables[0].DefaultView;
pds.AllowPaging = true;
anp.RecordCount = dst.Tables[0].DefaultView.Count;
pds.CurrentPageIndex = anp.CurrentPageIndex - 1;
pds.PageSize = anp.PageSize;
dl.DataSource = pds;
dl.DataBind();
}
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
BindData();
}
}
}