第一使用AspNetPager控件,先看了看DEMO确实是好东西。嘿嘿!虽然已经自己写了分页辅助类但是还是受业务限制。
看了例子都是DataSet数据类型,而且关于DataTable的代码也很少结合了朋友给的意见最终搞定。
具体步骤:
由于我的数据是从XML读取的所以我转换成了DataTable
DataTable dt = GetAreaToXml(Request["areaid"].ToString());
//声明DataSet数据集合
DataSet ds = new DataSet();
//把DataTable填充至DataSet
ds.Merge(dt);
//声明数据绑定类
PagedDataSource pds = new PagedDataSource();
//启用分页设置
pds.AllowPaging = true;
//单页显示条数(AspNetPager1.PageSize分页控件单页显示条数)
pds.PageSize = AspNetPager1.PageSize;
//当前页索引(AspNetPager1.CurrentPageIndex - 1分页控件当前页索引)
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
//绑定数据源
pds.DataSource = ds.Tables[0].DefaultView;//datatable
//数据Count
AspNetPager1.RecordCount = pds.DataSourceCount;
//Repeater绑定数据
AreaInfoRepeater.DataSource = pds;
AreaInfoRepeater.DataBind();
好了 大功告成简单把,剩下的就是设置分页控件的样式了!(样式就不解释了都懂的 - -#)。
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="pages" CurrentPageButtonClass="cpb" PageSize="10" ShowNavigationToolTip="True"
FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" ShowMoreButtons="False" ShowPageIndexBox="Never"
onpagechanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
最后把开始的的内容封装成方法在,AspNetPager1_PageChanged事件里调用就OK了。