在GridView中有两种数据绑定方式:DataSourceID和DataSource。
使用DataSourceID可以绑定到.net提供的数据源控件,只需在GridView中设置AllowPaging=true即可实现分页。
使用DataSource绑定数据时,需在GridView中设置AllowPaging=true,并手动为它的OnPageIndexChanging事件编写函数:


<asp:GridView ID="GridView1" AllowPaging=true runat="server" AutoGenerateColumns="False" PageSize=5 OnPageIndexChanging="myPageChanging">




protected void myPageChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindgridviewData();//要重新绑定数据


若数据源为SqlDataReader,是不能进行分页的。一般使用DataSet或DataTable,也可以使用ArrayList。如果得到的数据是SqlDataReader,可以转成DataSet或者ArrayList。以下代码将转成SqlDataReader转化为ArrayList:

SqlDataReader dr = myword.GetLeavewords();

ArrayList myList = new ArrayList();
while (dr.Read())
{
    LeaveItem myItem = new LeaveItem(); //这是一个类的实例,包含Title  Body  CreateTime三个成员变量
    myItem.LeavewordID = Int32.Parse(dr["LeavewordID"].ToString());
    myItem.Title = dr["Title"].ToString();
    myItem.Body = dr["Body"].ToString();
    myItem.CreateTime = DateTime.Parse(dr["CreateTime"].ToString());
    myItem.Replybody = dr["Replybody"].ToString();
    myList.Add(myItem);
}

GridView1.DataSource = myList; //指定数据源
GridView1.DataBind(); //绑定数据