
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.6 分页
在“设计”模式中,右键单击GridView,弹出“属性”菜单,AllowSorting默认为不支持分页,修改属性值为True。默认1页10条,如果要修改每页条数,修改PageSize的属性值即可,在aspx代码中是PageSize="5",如图2-13所示。同时后台取20条数据,便于演示分页,select top 20,效果如图2-14所示。

图2-13 在“属性”菜单中设置分页

图2-14 分页效果
刷新浏览器后GridView的确为我们分页了,这时单击第2页却报错:GridView“GridView1”激发了未处理的事件“PageIndexChanging”,注意这个报错提示,如图2-15所示。

图2-15 分页报错
这个时候,我们在GridView“属性”菜单上切换到事件,单击黄色的“闪电”图标,如图2-16所示。

图2-16 在“属性”菜单中选择事件
双击“PageIndexChanging”,系统自动切换到后台,并添加如下空代码段。
protectedvoid GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { }
我们加上分页事件的代码,分页过后要重新调用Bind()方法,后台全部代码如下:
SqlConnection sqlcon; string strCon=ConfigurationManager.ConnectionStrings[ "SQLCONN" ].ToString(); protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); } } //绑定 publicvoid bind() { string sqlstr="select top 20 员工编号,身份证号码,姓名,性别,地址 from 章立民工 作室"; sqlcon=newSqlConnection(strCon); SqlDataAdapter myda=newSqlDataAdapter(sqlstr, sqlcon); DataSet myds=newDataSet(); sqlcon.Open(); myda.Fill(myds, "table"); GridView1.DataSource=myds; GridView1.DataBind(); sqlcon.Close(); } protectedvoid GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex=e.NewPageIndex; bind(); }
这个时候再次刷新页面,单击第2页、第N页再也不会报错了,如图2-17所示。

图2-17 分页正常