用了那么就得AspNetPager分页控件,总结一下平时常会遇到的问题。
1、先是下载,就不说了。
2、添加到左侧工具导航栏,方便拖拽控件。在左侧工具栏选中适合的工具选项卡,如果想易于区分,可以添加一个自己的选项卡,鼠标右击:添加选项卡,然后输入名称添加,如Add。
3、添加控件到该选项卡,选中该选项卡,鼠标右击:选择项,在弹出框里选择到AspNetPager的dll文件路径,点击添加,即可。
4、使用:在页面里拖拽进来该控件,为该控件使用到的属性赋值,比如,依据我个人习惯,我经常会写成如下格式:
<webdiyer:AspNetPager ID="AspNetPager1" PageSize="19" runat="server" FirstPageText="首页"
PrevPageText="上一页" NextPageText="下一页" LastPageText="末页" OnPageChanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
当然了,它还有很多强大的属性,我没有用到过,在此就不描述了。
5、绑定数据:
步骤是:1):获取数据源,在这里为:dt
2):声明PagedDataSource分页控件操作对象
3):为AspNetPager1绑定数据行数
4): 为分页控件类绑定数据源
5): 允许PagedDataSource分页
6):获得当前页码
7):为当前显示数据的控件指定数据
8):为当前显示数据的控件绑定分页数据
DataTable dt = mySql.getTable(sql);
PagedDataSource pds = new PagedDataSource();
AspNetPager1.RecordCount = dt.Rows.Count;
pds.DataSource = dt.DefaultView;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
rptLocksList.DataSource = pds;
rptLocksList.DataBind();
if (pds.Count > 0)
{
divNoData.Visible = false;
}
else
{
divNoData.Visible = true;
}
如果牵涉到无数据的情况下显示提示,则要对当前分页类,在这里即是:pds,进行判断。判断它的数据行数,进行操作。
6、我遇到的问题:
1):辛辛苦苦写完了分页,然后点击下一页没反应:忘记写换页事件
2):如果没数据显示无数据提示,判断获得数据行数,在这里为dt.Rows.Count后不管用,原因是判断错了,应该判断pds的数据行数。