用AspNetPager实现数据的分页

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


分页效果图:

用AspNetPager实现数据的分页


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

用AspNetPager实现数据的分页 


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

用AspNetPager实现数据的分页 


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


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

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

 

<webdiyer:AspNetPager ID="anp" runat="server" PageSize="8" 

                OnPageChanged="anp_pagechanged" FirstPageText="第一页" LastPageText="最后一页" 

                NextPageText="下一页" PrevPageText="上一页" 

                CustomInfoHTML="总计%RecordCount%条纪录,共%PageCount%页" ShowCustomInfoSection="Left" 

                ShowPageIndexBox="Never" CssClass="paginator" CurrentPageButtonClass="cpb"

                AlwaysShow="True" CustomInfoSectionWidth="">            

</webdiyer:AspNetPager>

 

 
  

  

 

 


分页控件的CSS样式:

 

/*全局样式*/

.paginator

{

    font: 11px Arial, Helvetica, sans-serif;

    padding: 10px 20px 10px 10px;

    margin: 0px;

}





/*超链接默认样式*/

.paginator a

{

    padding: 1px 6px;

    border: solid 1px #ddd;

    background: #fff;

    text-decoration: none;

    margin-right: 2px;

    color:Blue;

}





/*链接访问后的样式*/

.paginator a:visited

{

    padding: 1px 6px;

    border: solid 1px #ddd;

    background: #fff;

    text-decoration: none;

}





/*鼠标移到链接上的样式*/

.paginator a:hover

{

    background-color:Orange;

}





/*按钮样式*/

.paginator .cpb

{

    padding: 1px 6px;

    font-weight: bold;

    font-size: 13px;

    border: none;

}

 

  


分页存储过程:

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

 

 

USE [newssystem]

GO

/****** Object:  StoredProcedure [dbo].[proc_FengYe]    Script Date: 10/02/2012 10:35:09 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 -- =============================================  

-- Author:      刘水镜  

-- Create date: 2012-07-22 12:41  

-- Description: 分页,用到了ROW_NUMBER()  

-- =============================================  

ALTER PROCEDURE [dbo].[proc_FenYe]  

@tblName   varchar(255),       -- 表名  

@strGetFields varchar(1000) = '*', -- 需要返回的列,默认*  

@strOrder varchar(255)='',      -- 排序的字段名,必填  

@strOrderType varchar(10)='ASC', -- 排序的方式,默认ASC  

@PageSize   int = 10,          -- 页尺寸,默认10  

@PageIndex int = 1,           -- 页码,默认1  

@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)  

AS  

  

declare @strSQL   varchar(5000)  

  

if @strWhere !=''  

set @strWhere=' where '+@strWhere  

  

set @strSQL=  

'SELECT * FROM ('+  

    'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+  

    'FROM '+@tblName+' '+@strWhere+  

') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)  

  

exec (@strSQL) 

 

 

 

  


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




你可能感兴趣的:(PAGER)