AspNetPager 写写更健康

首先介绍下使用AspNetPager常用的一些属性:

         AspNetPager1.AlwaysShow=True;//使你的空间总是显示出来,当然你也可以再属性菜单栏里边修改这条属性;

         AspNetPager1.PageSize=5;//设置DataList的每页显示数据的个数;因为datalist没有类似的属性,为什么呢?,想想,如果你的数据不多,根本不用去分页,顶多加个div标签,弄个”style=overflow:auto“滚动条出来便好。~~如果你的数据多,那么你就需要分页了。于是你会首先考虑的问题就是:怎么在数据表中截取一部分数据显示?比如第16到20行的这5条数据?在这个时候,你就需要一个保存这个截取量5的地方。PageSize就是这个容器;

         AspNetPager1.RecordCount=100;//用来判断AspNetPager显示出来的数据总数有多少,看看名字就能猜出来吧。这里的100只是个例子,因为这个数目得是个变量,对吧。这个是控件内部处理的,你只需要吧RecordCount这个参数传进去就可以了,不过我们可以预料的是经过:RecordCount/PageSize+((RecordCount%PageSize)%PageSize),得到的就是最大页码。可能再做个循环显示出来那些页码显示了吧,具体就不清楚了。

           AspNetPager1.CurrentPage=5//同样是个例子,设置为5。是AspNetPager当前选中的页码。默认为1

        

        好了,到这里属性就了解的差不多了,我们开始根据这些参数来将我们想要的数据弄出来:

     PageLoad(){

                               

                       if(!IsPostBack){

 

                           AspNetPager1.AlwaysShow=true;

                           AspNetPager1.PageSiz=5;

                        -------------------------------------------------------------------------------  

                          连接数据库,代码就不写

 

                        ----------------------------------------------------------------------------------------------------------------------------

                           String mystring="select count(*) from userinfo";//查询有多少条数据,返回数目到表中

                            SqlCommand mycmd=new SqlCommand(mystring,conn);

                            int datanumber=(int)mycmd.ExecuteScalar();//执行语句,并返回查询所返回结果的表的第一行第一列就是我们所要的那个数据个数;

                            AspNetPager1.RecordCount=datanumber;//这里就是动态设置参数了.这个是必须设置的属性

                       ----------------------------------------------------------------------------------------------------------------------------

 

                         asp_databind();//执行datalist数据绑定的函数

                      ------------------------------------------------------------------------------------

                         数据库.close();

 

                       }

 }

 

//执行绑定的函数

  private void asp_databind(){

 

                            创建数据库连接;

                           打开数据库;

                     --------------------------------------------------------------------

                           //下面开始将我们要的数据先弄进dataset里边

                             String sqlstring="select * from userinfo";

                           SqlDataAdapter adp=new SqlDataAdapter(sqlstring.conn);

                           DataSet ds=new DataSet();

 

         //这句话的意思是将搜索到的从第AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1)条数据开始的AspNetPager.PageSize条数据,填充到映射表名为userinfo(也就是原表名)的表中

                           adp.Fill(ds,AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager.PageSize,"userinfo");

                      -------------------------------------------------------------------

                  //上边将数据选出来了,接下来绑定datasourse

                     Datalist1.DataSourse=ds.Tables["userinfo"];

                    DataList1.DataBind();

}

 

 

 

        //然后我们可以开始指定AspNetPager触发的事件了

 

   protected void AspNetPager1_PageChanging(){

 

          AspNetPager1.CurrentPager=e .NewpageIndex;//将你所选的页码值传值

         asp_databind();

}

 

 

 

总结一下原理吧:吴旗写的这个控件我感觉和VS自带的那个PagedDatasourse差不多,不过这个控件定然是比那个类要人性化很多,它帮我们免去了一些比较固定化的代码编写,而且还将可能用到的功能加了进去。

    你如果和我一样新手,可能会感觉出这个控件貌似就弄了几个属性值,然后就没他什么事了好像?有点不解?

    AspNetPager控件和PagedDataSourse类一样,他们都没有和datalist进行过传值操作。AspNetPager的属性参数,一方面用来实现控件为我们增加的功能;另一方面当做填充dataset时的参数,这样在datalist绑定到dataset时,我们就间接的完成了对datalist的分页操作,实现了对datalist的分页。

   其实datalist哪里能分什么页码啊,这只不过是看起来如此,如果你理解成“对数据表内数据的分页”,这样我觉得能更简单的理解分页这项技术。

   这个控件今天才看,有说的不对的地方留言给我吧,3q~

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值