AspNetPager 分页的详细用法(ASP.NET)

1.【添加AspNetPager.dll文件】

2.【使用方法】

     public static DataTable GetRecord(SystemModel.Pager mt, ref int TotalPage, ref int TotalRecord)
        {
            string sortType = mt.SortType == 1 ? " asc" : " desc";
            //查询总条数
            string _strCountSQL = "select count(" + mt.PrimaryKey + ") from " + mt.TableName + " where " + mt.Where;
            string _strPageSQl = "select top " + mt.PageSize + " " + mt.FiledList + " from " + mt.TableName + " where " + mt.PrimaryKey + " not in(select top " + mt.PageSize * (mt.PageIndex - 1) + " " + mt.PrimaryKey + " from " + mt.TableName + " where " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType + ") and " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType;
            if (mt.PageIndex == 1)
            {
                _strPageSQl = "select top " + mt.PageIndex * mt.PageSize + " " + mt.FiledList + " from " + mt.TableName + " where " + mt.Where + " order by " + mt.Order + sortType + "," + mt.PrimaryKey + " " + sortType;
            }

            DataSet ds = DBUtility.AccessHelper.Query(_strPageSQl);
            TotalRecord = int.Parse(DBUtility.AccessHelper.GetSingle(_strCountSQL).ToString());
            TotalPage = TotalRecord % mt.PageSize == 0 ? TotalRecord / mt.PageSize : TotalRecord / mt.PageSize + 1;
            return ds.Tables[0];
        }

也可以使用存储过程分页,这里的参数要返回一共多少页,当前第几页。

create procedure home
(@pagesize int,
@pageindex int,
@docount bit)
as
if(@docount=1)
select count(*) from binfo
else
begin
 with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY time desc)AS Row, * from binfo O )
 SELECT * FROM temptbl where Row between (@pageindex-1)*@pagesize+1 and (@pageindex-1)*@pagesize+@pagesize
end

3.【页面中使用】

index.asx页面:

 <webdiyer:AspNetPager ID="Pager22" runat="server" AlwaysShow="true" Font-Size="12px"
                                        CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页"
                                        PrevPageText="上一页" CustomInfoTextAlign="Right" ShowPageIndexBox="Never" ShowCustomInfoSection="Left"
                                        CenterCurrentPageButton="True" ShowFirstLast="true" ReverseUrlPageIndex="True"
                                        Direction="LeftToRight" Width="100%" OnPageChanging="Pager_PageChanging" ForeColor="Black"
                                        NumericButtonCount="100">
                                    </webdiyer:AspNetPager>

具体参数,可以查下相关的属性。

index.aspx.cs

           SystemModel.Pager mt = new SystemModel.Pager();
            mt.PageIndex = PageIndex;
            mt.PageSize =分页数量;
            mt.TableName =表名;
            mt.FiledList = 查询的内容,如*;
            mt.PrimaryKey = 主键;
            mt.Where =条件;
            if (HttpContext.Current.Request["id"] != null)
            {
                mt.Where = mt.Where + " and fid=" + int.Parse(HttpContext.Current.Request["id"].ToString());
            }
            mt.Order = 排序字段;

            mt.SortType = 排序方式(1或2);

            mt.RecorderCount = 0;

            int TotalPage = 1;
            int TotalRecord = 0;
            dtNews = SystemBLL.Pager.GetRecord(mt, ref TotalPage, ref TotalRecord);
            if (dtNews.Rows.Count < 1)
            {
                return;
            }
            DataView dv = dtNews.DefaultView;
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = dv;
            pds.AllowPaging = true;
            pds.CurrentPageIndex = Pager22.CurrentPageIndex - 1;
            pds.PageSize = Pager22.PageSize;
            this.Pager22.PageSize = mt.PageSize;
            this.Pager22.RecordCount = TotalRecord;
            this.Pager22.CustomInfoHTML = string.Format("共 {0} 页,当前第 {1} 页,共 {2} 条记录", TotalPage, PageIndex, TotalRecord);
            if (TotalRecord <= mt.PageSize)
            {
                this.Pager22.Style.Add("display", "none");
            }
            else
            {
                this.Pager22.Style.Add("display", "block");
            }

这里只有常用的一些属性,还有自定义url  css之类的

也支持mvc

更多属性请查看这里:http://www.webdiyer.com/aspnetpager/

效果:

AspNetPager 分页的详细用法(ASP.NET)

时间: 2024-10-07 10:30:13

AspNetPager 分页的详细用法(ASP.NET)的相关文章

【转】AspNetPager分页控件用法

AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的详细代码: 1.首先到www.webdiyer.com下载最新的AspNetPager.dll,直接在vs2005中添加引用即可. 2.在页面上注册控件,引入该控件,当然,需要在页面中使用一个数据载体,我这里使用的是repeater控件. <%@ Register Assembly="AspNetPager" Na

PagedDataSource数据绑定控件和AspNetPager分页控件结合使用列表分页

1.引用AspNetPager.dll. 2.放置Repeater数据绑定控件. <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> //绑定显示的列表代码 </ItemTemplate> </asp:Repeater> 3.在页面添加AspNetPager分页控件,会出现以下代码. <%@ Register Assembly="Asp

【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

1.AspNetPager分页,实现每一列都可排序: (1).需要将默认排序字段放在HTML页面中. (2).排序字段放置为td节点的属性. 如图: 实现的效果图如: HTML代码: <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover tabl

jquery jtemplates.js模板渲染引擎的详细用法第一篇

jquery jtemplates.js模板渲染引擎的详细用法第一篇 Author:ching Date:2016-06-29 jTemplates是一个基于JQuery的模板引擎插件,功能强大,有了他你就再不用为使用JS绑定数据时发愁了.后端语言使用php,asp.net,jsp等都不是问题,使用模板渲染可以很大程度上提高程序性能,使用异步获取数据,不用整个页面都回发,好处当然不仅仅是这些. 下载jtemplates,官网的文档写得非常的详细 打开官网:http://jtemplates.tp

C# Repeater、webdiyer:AspNetPager分页 AspNetPager分页样式

AspNetPager分页样式:1.网易风格 2.拍拍风格 3.迅雷风格 地址:http://www.webdiyer.com/aspnetpagerdemo/applystyles/default.aspx BootScript框架下分页: <div class="row"> <div class="col-lg-1 col-sm-4 col-xs-4 col-xxs-12"> </div> <div class=&quo

Display:Block 详细用法

根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为"block",成为"块级"元素(block-level):而span元素的默认display属性值为"inline",称为"行内"元素. 块级元素: 动占据一定矩形空间,可以通过设置高度.宽度.内外边距等属性,来调整的这个矩形的样子: 行内元素: 自己的

DOM Style样式对象的详细用法

DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head>     <style type="text/css">                /* 内部样式 */       h3 {color:green;}     </style>             <!-- 外部样式 style.css -->    

文件/目录权限设置命令chmod的详细用法

chmod是文件/目录权限设置的命令,在Linux中经常遇到,本博文以下总结chmod的详细用法. Linux/Unix的档案调用权限分为三级,即档案拥有者user.群组group.其他other.u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是. + 表示增加权限.- 表示取消权限.= 表示唯一设定权限. r表示可读取,w表示可写入,x表示可执行. 举例说明: (1).将档案file1.txt 设为所有人皆可读取: chmod u

mysql中游标在存储过程中的详细用法

昨天写的一个东东,分享下给大家. drop PROCEDURE  if exists sp_cleanUserData; CREATE  PROCEDURE `sp_cleanUserData`() BEGIN /*定义游标*/ declare v_dt bigint(20) default 0 ; declare v_num INT DEFAULT 0; /*游标循环到末尾时给定义的常量赋值*/ declare cur_userId   CURSOR FOR select  userId fr