1、前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewPaging.aspx.cs" Inherits="GridviewPaging" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" PageSize="3">
<Columns>
<asp:BoundField DataField="UserID" HeaderText="ID" SortExpression="UserID"/>
<asp:BoundField DataField="UserName" HeaderText="姓名" SortExpression="UserName" />
<asp:BoundField DataField="Address" HeaderText="地址" SortExpression="Address"/>
<asp:BoundField DataField="Tel" HeaderText="电话" SortExpression="Tel"/>
</Columns>
<PagerSettings Visible="False" />
</asp:GridView>
<asp:LinkButton ID="btnFirst" OnClick="PagerButtonClick"
runat="server"><img id=sy src="Images/mytable.gif" style="border-color:White"/>首 页</asp:LinkButton>
<asp:LinkButton ID="btnPrev" OnClick="PagerButtonClick" runat="server"><img id=Img1 src="Images/left_arrow.gif" style="border-color:White"/>上一页</asp:LinkButton>
<asp:LinkButton ID="btnNext" OnClick="PagerButtonClick" runat="server"><img id=Img2 src="Images/right_arrow.gif" style="border-color:White"/>下一页</asp:LinkButton>
<asp:LinkButton ID="btnLast" OnClick="PagerButtonClick" runat="server"><img id=Img3 src="Images/ji.gif" style="border-color:White"/>尾 页</asp:LinkButton><br />
<asp:Label ID="LblCurrentIndex" runat="server"></asp:Label>
<asp:Label ID="LblPageCount" runat="server"></asp:Label>
<asp:Label ID="LblRecordCount" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
2、后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BusinessRules;
//Gridview自定义分页。
public partial class GridviewPaging : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GdviewBind();
}
protected void GdviewBind()
{
//绑定gridview。
DataSet ds = new DataSet();
ds = BindGridveiw.BindGridview();
GridView1.DataSource = ds;
GridView1.DataBind();
//用lblCurrentIndex来显示当前页的页数。
LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";
//用LblPageCount来显示当前数据的总页数。
LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";
//用LblrecordCount来显示数据的总条数。
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";
// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
//点击首页设定的值为1。
btnFirst.CommandName = "1";
//点击‘上一页’
btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());
//点击‘下一页’
btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());
//点击‘尾页’
btnLast.CommandName = GridView1.PageCount.ToString();
}
protected void PagerButtonClick(object sender, EventArgs e)
{
//自定义的分页事件,获取点击的按钮来进行分页。
GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;
//数据绑定。
GdviewBind();
}
}