GridView分页处理
在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">
1 protected void myPageChanging(object sender, GridViewPageEventArgs e)
2 {
3 GridView1.PageIndex = e.NewPageIndex;
4 BindgridviewData();//要重新绑定数据
5
若数据源为SqlDataReader,是不能进行分页的。一般使用DataSet或DataTable,也可以使用ArrayList。如果得到的数据是SqlDataReader,可以转成DataSet或者ArrayList。以下代码将转成SqlDataReader转化为ArrayList:
1 SqlDataReader dr = myword.GetLeavewords();
2
3 ArrayList myList = new ArrayList();
4 while (dr.Read())
5 {
6 LeaveItem myItem = new LeaveItem(); //这是一个类的实例,包含Title Body CreateTime三个成员变量
7 myItem.LeavewordID = Int32.Parse(dr["LeavewordID"].ToString());
8 myItem.Title = dr["Title"].ToString();
9 myItem.Body = dr["Body"].ToString();
10 myItem.CreateTime = DateTime.Parse(dr["CreateTime"].ToString());
11 myItem.Replybody = dr["Replybody"].ToString();
12 myList.Add(myItem);
13 }
14
15 GridView1.DataSource = myList; //指定数据源
16 GridView1.DataBind(); //绑定数据
作者:白色之夜