用AspNetPager实现数据的分页

当网页中的内容较多时,就不能让其所有内容在同一页面显示,那样既不美观又影响性能。所以说将数据分页显示还是非常有必要的。下面一起来看看我今天给大家介绍的这个分页吧!


分页效果图:



实现此效果需要用到一个叫做AspNetPager的第三方控件,百度一下就能找到。下载后放到相应的目录,然后将其引用,最后添加到工具箱即可使用。添加到工具箱的步骤如下:

 


在弹出的对话框内点击浏览,找到AspNetPager.dll点击打开,添加成功!

 


添加完以后接下来看看代码部分


分页控件的相关属性设置:

设置每页显示的最大记录数、相关按钮上的文字,一眼就能看懂。

[html]  view plain copy
  1. <span style="font-family:'Microsoft YaHei';font-size:16px;"><webdiyer:AspNetPager ID="anp" runat="server" PageSize="8"   
  2.                 OnPageChanged="anp_pagechanged" FirstPageText="第一页" LastPageText="最后一页"   
  3.                 NextPageText="下一页" PrevPageText="上一页"   
  4.                 CustomInfoHTML="总计%RecordCount%条纪录,共%PageCount%页" ShowCustomInfoSection="Left"   
  5.                 ShowPageIndexBox="Never" CssClass="paginator" CurrentPageButtonClass="cpb"  
  6.                 AlwaysShow="True" CustomInfoSectionWidth="">              
  7. </webdiyer:AspNetPager></span>  


分页控件的CSS样式:

[css]  view plain copy
  1. /*全局样式*/  
  2. .paginator  
  3. {  
  4.     font11px ArialHelveticasans-serif;  
  5.     padding10px 20px 10px 10px;  
  6.     margin0px;  
  7. }  
  8.   
  9.   
  10. /*超链接默认样式*/  
  11. .paginator a  
  12. {  
  13.     padding1px 6px;  
  14.     bordersolid 1px #ddd;  
  15.     background#fff;  
  16.     text-decorationnone;  
  17.     margin-right2px;  
  18.     color:Blue;  
  19. }  
  20.   
  21.   
  22. /*链接访问后的样式*/  
  23. .paginator a:visited  
  24. {  
  25.     padding1px 6px;  
  26.     bordersolid 1px #ddd;  
  27.     background#fff;  
  28.     text-decorationnone;  
  29. }  
  30.   
  31.   
  32. /*鼠标移到链接上的样式*/  
  33. .paginator a:hover  
  34. {  
  35.     background-color:Orange;  
  36. }  
  37.   
  38.   
  39. /*按钮样式*/  
  40. .paginator .cpb  
  41. {  
  42.     padding1px 6px;  
  43.     font-weightbold;  
  44.     font-size13px;  
  45.     bordernone;  
  46. }  

分页存储过程:

主要是根据自己的需要拼接查询语句,选出需要的内容。具体怎么写看自己的需要。

[sql]  view plain copy
  1. USE [newssystem]  
  2. GO  
  3. /****** Object:  StoredProcedure [dbo].[proc_FengYe]    Script Date: 10/02/2012 10:35:09 ******/  
  4. SET ANSI_NULLS ON  
  5. GO  
  6. SET QUOTED_IDENTIFIER ON  
  7. GO  
  8.  -- =============================================    
  9. -- Author:      刘水镜    
  10. -- Create date: 2012-07-22 12:41    
  11. -- Description: 分页,用到了ROW_NUMBER()    
  12. -- =============================================    
  13. ALTER PROCEDURE [dbo].[proc_FenYe]    
  14. @tblName   varchar(255),       -- 表名    
  15. @strGetFields varchar(1000) = '*'-- 需要返回的列,默认*    
  16. @strOrder varchar(255)='',      -- 排序的字段名,必填    
  17. @strOrderType varchar(10)='ASC'-- 排序的方式,默认ASC    
  18. @PageSize   int = 10,          -- 页尺寸,默认10    
  19. @PageIndex int = 1,           -- 页码,默认1    
  20. @strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)    
  21. AS    
  22.     
  23. declare @strSQL   varchar(5000)    
  24.     
  25. if @strWhere !=''    
  26. set @strWhere=' where '+@strWhere    
  27.     
  28. set @strSQL=    
  29. 'SELECT * FROM ('+    
  30.     'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+    
  31.     'FROM '+@tblName+' '+@strWhere+    
  32. ') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)    
  33.     
  34. exec (@strSQL)   

完成以上工作,分页基本上就实现了,只需要在加上一些绑定数据的语句,就可以实现一个完整的分页功能了。大概也就这些了,有什么不足之处欢迎指正批评。


转自http://blog.csdn.net/liushuijinger/article/details/7775920

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值