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(); //绑定数据
posted @ 2008-10-05 15:35  白色之夜  阅读(598)  评论(0编辑  收藏  举报