<asp:GridView ID="GridView1" runat="server"
>
<Columns>
<asp:TemplateField AccessibleHeaderText="1"></asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="first" runat="server" Text="首页" οnclick="first_Click" />
<asp:Button runat="server" ID="lnkPrev" Text="up" οnclick="lnkPrev_Click"/>
<asp:Button runat="server" ID="lnkNext" Text="down" οnclick="lnkNext_Click"/>
<asp:Button
ID="last" runat="server" Text="尾页" οnclick="last_Click" />
<asp:TextBox ID="lblCurrentPage" runat="server"></asp:TextBox>
</div>
C# 后置代码:
int pageSize = 0; //每页显示行数
int nMax = 0; //总记录数
int pageCount = 0; //页数=总记录数/每页显示行数
static int pageCurrent = 1; //当前页号
int nCurrent = 0; //当前记录行
DataTable dtInfo = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
dtInfo=InitDataSet();
bind(dtInfo, 1);
}
private DataTable InitDataSet()
{
//
DataTable dt = new DataTable();
//创建表
dt = new DataTable("SO");
//创建列
DataColumn dc = null;
dc = dt.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true;//自动增加
dc.AutoIncrementSeed = 1;//起始为1
dc.AutoIncrementStep = 1;//步长为1
dc.AllowDBNull = false;
dt.Columns.Add("名称", typeof(System.String));
dt.Columns.Add("单位", typeof(System.String));
dt.Columns.Add("数量", typeof(System.String));
dt.Columns.Add("单价", typeof(System.String));
dt.Columns.Add("金额", typeof(System.String));
//创建行,并循环赋值
DataRow dr = null;
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr["名称"] = 1;
dr["单位"] = 2;
dr["数量"] = 3;
dr["单价"] = 4;
dr["金额"] = 5;
dt.Rows.Add(dr);
}
return dt;
}
protected void bind(DataTable dt, int CurPage)
{
if (dt.Rows.Count > 0)
{
PagedDataSource ps = new PagedDataSource();
ps.DataSource = dt.DefaultView;
ps.AllowPaging = true;
int s = dt.Rows.Count;
ps.PageSize = 3;
if (s % (ps.PageSize) != 0)
{
pageCount = (s + ps.PageSize) / (ps.PageSize);
}
else
{
pageCount = s / (ps.PageSize);
}
ps.CurrentPageIndex = 1;
ps.CurrentPageIndex = CurPage - 1;
lblCurrentPage.Text = "当前第" + CurPage.ToString() + "页 共" + dt.Rows.Count.ToString() + " 条 每页" + ps.PageSize + "条";
//把PagedDataSource 对象赋给datalist控件
this.GridView1.DataSource = ps;
this.GridView1.DataBind();
}
}
protected void lnkPrev_Click(object sender, EventArgs e)
{
pageCurrent--;
if (pageCurrent < 1)
{
pageCurrent++;
Response.Write("已是首页");
}
bind(dtInfo, pageCurrent);
}
protected void lnkNext_Click(object sender, EventArgs e)
{
pageCurrent += 1;
if (pageCurrent > pageCount)
{
pageCurrent--;
Response.Write("已是尾页");
}
bind(dtInfo, pageCurrent);
}
protected void first_Click(object sender, EventArgs e)
{
pageCurrent = 1;
bind(dtInfo, pageCurrent);
}
protected void last_Click(object sender, EventArgs e)
{
pageCurrent = pageCount;
bind(dtInfo, pageCurrent);
}