如果没有用.net提供的数据源控件,只是在GridView里面添加 AllowPaging=true PageSize="10",系统会提示错误!
用sqldatareader的数据源来绑定GridView也无法实现分页,一般使用DataSet,有时候使用ArrayList来实现GridView的分页.
如果你得到的数据是sqldatareader,可以转成dataset或者ArrayList.
以下代码是转成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();
在前台的GridView的里面,
<asp:GridView ID="GridView1" AllowPaging=true runat="server" AutoGenerateColumns="False" Height="177px"
Width="603px" PageSize=3 OnPageIndexChanging="myPageChanging">
在后台隐藏文件里面要添加事件myPageChanging ,代码如下:
protected void myPageChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindgridviewData();//要重新绑定数据
}