menghaoran
人都会死,但不是每个人都真正活过!

  用了那么就得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的数据行数。

posted on 2012-08-11 12:16  menghaoran  阅读(671)  评论(0编辑  收藏  举报