zoukankan      html  css  js  c++  java
  • 用AspNetPager实现数据的分页

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


    分页效果图:



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

     


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

     


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


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

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

    <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) 

      


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




  • 相关阅读:
    置顶功能改进
    Skin设计小组新作品发布—绿草蓝天
    代码着色功能改进
    增加了将文章收藏至网摘的功能
    [公告]C++博客开通
    [新功能]显示文章所属分类
    新Skin发布
    北京.NET俱乐部活动公告
    正式开始学习.NET 2.0
    关于共同学习.NET 2.0的想法
  • 原文地址:https://www.cnblogs.com/liushuijinger/p/2710245.html
Copyright © 2011-2022 走看看