【C#公共帮助类】分页逻辑处理类

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5
  6 namespace Common
  7 {
  8     /// <summary>
  9     /// 分页逻辑处理类
 10     /// </summary>
 11     public class PageCollection
 12     {
 13         /// <summary>
 14         /// 总页数
 15         /// </summary>
 16         public int TotalPages { get; set; }
 17         /// <summary>
 18         /// 当前页面
 19         /// </summary>
 20         public int CurrentPage { get; set; }
 21         /// <summary>
 22         /// 每页的记录数
 23         /// </summary>
 24         public int OnePageSize { get; set; }
 25         /// <summary>
 26         /// 总记录数
 27         /// </summary>
 28         public long TotalRows { get; set; }
 29         /// <summary>
 30         /// 排序
 31         /// </summary>
 32         public string OrderBy { get; set; }
 33
 34         /// <summary>
 35         /// 构造无参默认为最大数
 36         /// </summary>
 37         public PageCollection()
 38         {
 39             this.CurrentPage = 0;
 40             this.OnePageSize = 20;//默认最大行数20条
 41         }
 42     }
 43     /// <summary>
 44     /// 分页逻辑处理类 linq to entites
 45     /// </summary>
 46     public class PageInfo<TEntity> where TEntity : class
 47     {
 48         public PageInfo(int index, int pageSize, int count, List<TEntity> list,string url="")
 49         {
 50             Index = index;
 51             PageSize = pageSize;
 52             Count = count;
 53             List = list;
 54             Url = url;
 55             //计算数据条数从开始到结束的值
 56             if (count == 0)
 57             {
 58                 BeginPage = 0;
 59                 EndPage = 0;
 60             }
 61             else
 62             {
 63                 int maxpage = count / pageSize;
 64
 65                 if (count % pageSize > 0)
 66                 {
 67                     maxpage++;
 68                 }
 69                 if (index >= maxpage)
 70                 {
 71                     index = maxpage;
 72
 73                     BeginPage = pageSize * index - pageSize + 1;
 74                     EndPage = count;
 75                 }
 76                 else
 77                 {
 78                     BeginPage = pageSize * index - pageSize + 1;
 79                     EndPage = pageSize * index;
 80                 }
 81             }
 82         }
 83
 84         public int Index { get; private set; }
 85         public int PageSize { get; private set; }
 86         public int Count { get; private set; }
 87         public List<TEntity> List { get; set; }
 88         public string Url { get; set; }
 89         public int BeginPage { get; private set; }
 90         public int EndPage { get; private set; }
 91     }
 92
 93     /// <summary>
 94     /// 分页逻辑处理类 dynamic
 95     /// </summary>
 96     public class PageInfo
 97     {
 98         public PageInfo(int index, int pageSize, int count, dynamic list, string url = "")
 99         {
100             Index = index;
101             PageSize = pageSize;
102             Count = count;
103             List = list;
104             Url = url;
105             //计算数据条数从开始到结束的值
106             if (count == 0)
107             {
108                 BeginPage = 0;
109                 EndPage = 0;
110             }
111             else
112             {
113                 int maxpage = count / pageSize;
114
115                 if (count % pageSize > 0)
116                 {
117                     maxpage++;
118                 }
119                 if (index >= maxpage)
120                 {
121                     index = maxpage;
122
123                     BeginPage = pageSize * index - pageSize + 1;
124                     EndPage = count;
125                 }
126                 else
127                 {
128                     BeginPage = pageSize * index - pageSize + 1;
129                     EndPage = pageSize * index;
130                 }
131             }
132         }
133
134         public int Index { get; private set; }
135         public int PageSize { get; private set; }
136         public int Count { get; private set; }
137         public dynamic List { get; private set; }
138         public string Url { get; set; }
139         public int BeginPage { get; private set; }
140         public int EndPage { get; private set; }
141     }
142
143     /// <summary>
144     /// Eazyui分页处理逻辑类
145     /// </summary>
146     public class PageEazyUi
147     {
148         public PageEazyUi(int _page, int _pagesize, int _total, object _rows)
149         {
150             page = _page;
151             pagesize = _pagesize;
152             total = _total;
153             rows = _rows;
154         }
155
156         public int page { get; private set; }
157         public int pagesize { get; private set; }
158         public int total { get; private set; }
159         public object rows { get; private set; }
160     }
161 }

【C#公共帮助类】分页逻辑处理类

分页逻辑处理类 PageCollection.cs

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5
  6 namespace Common
  7 {
  8     /// <summary>
  9     /// 分页逻辑处理类
 10     /// </summary>
 11     public class PageCollection
 12     {
 13         /// <summary>
 14         /// 总页数
 15         /// </summary>
 16         public int TotalPages { get; set; }
 17         /// <summary>
 18         /// 当前页面
 19         /// </summary>
 20         public int CurrentPage { get; set; }
 21         /// <summary>
 22         /// 每页的记录数
 23         /// </summary>
 24         public int OnePageSize { get; set; }
 25         /// <summary>
 26         /// 总记录数
 27         /// </summary>
 28         public long TotalRows { get; set; }
 29         /// <summary>
 30         /// 排序
 31         /// </summary>
 32         public string OrderBy { get; set; }
 33
 34         /// <summary>
 35         /// 构造无参默认为最大数
 36         /// </summary>
 37         public PageCollection()
 38         {
 39             this.CurrentPage = 0;
 40             this.OnePageSize = 20;//默认最大行数20条
 41         }
 42     }
 43     /// <summary>
 44     /// 分页逻辑处理类 linq to entites
 45     /// </summary>
 46     public class PageInfo<TEntity> where TEntity : class
 47     {
 48         public PageInfo(int index, int pageSize, int count, List<TEntity> list,string url="")
 49         {
 50             Index = index;
 51             PageSize = pageSize;
 52             Count = count;
 53             List = list;
 54             Url = url;
 55             //计算数据条数从开始到结束的值
 56             if (count == 0)
 57             {
 58                 BeginPage = 0;
 59                 EndPage = 0;
 60             }
 61             else
 62             {
 63                 int maxpage = count / pageSize;
 64
 65                 if (count % pageSize > 0)
 66                 {
 67                     maxpage++;
 68                 }
 69                 if (index >= maxpage)
 70                 {
 71                     index = maxpage;
 72
 73                     BeginPage = pageSize * index - pageSize + 1;
 74                     EndPage = count;
 75                 }
 76                 else
 77                 {
 78                     BeginPage = pageSize * index - pageSize + 1;
 79                     EndPage = pageSize * index;
 80                 }
 81             }
 82         }
 83
 84         public int Index { get; private set; }
 85         public int PageSize { get; private set; }
 86         public int Count { get; private set; }
 87         public List<TEntity> List { get; set; }
 88         public string Url { get; set; }
 89         public int BeginPage { get; private set; }
 90         public int EndPage { get; private set; }
 91     }
 92
 93     /// <summary>
 94     /// 分页逻辑处理类 dynamic
 95     /// </summary>
 96     public class PageInfo
 97     {
 98         public PageInfo(int index, int pageSize, int count, dynamic list, string url = "")
 99         {
100             Index = index;
101             PageSize = pageSize;
102             Count = count;
103             List = list;
104             Url = url;
105             //计算数据条数从开始到结束的值
106             if (count == 0)
107             {
108                 BeginPage = 0;
109                 EndPage = 0;
110             }
111             else
112             {
113                 int maxpage = count / pageSize;
114
115                 if (count % pageSize > 0)
116                 {
117                     maxpage++;
118                 }
119                 if (index >= maxpage)
120                 {
121                     index = maxpage;
122
123                     BeginPage = pageSize * index - pageSize + 1;
124                     EndPage = count;
125                 }
126                 else
127                 {
128                     BeginPage = pageSize * index - pageSize + 1;
129                     EndPage = pageSize * index;
130                 }
131             }
132         }
133
134         public int Index { get; private set; }
135         public int PageSize { get; private set; }
136         public int Count { get; private set; }
137         public dynamic List { get; private set; }
138         public string Url { get; set; }
139         public int BeginPage { get; private set; }
140         public int EndPage { get; private set; }
141     }
142
143     /// <summary>
144     /// Eazyui分页处理逻辑类
145     /// </summary>
146     public class PageEazyUi
147     {
148         public PageEazyUi(int _page, int _pagesize, int _total, object _rows)
149         {
150             page = _page;
151             pagesize = _pagesize;
152             total = _total;
153             rows = _rows;
154         }
155
156         public int page { get; private set; }
157         public int pagesize { get; private set; }
158         public int total { get; private set; }
159         public object rows { get; private set; }
160     }
161 }

时间: 2024-08-22 22:51:53

【C#公共帮助类】分页逻辑处理类的相关文章

计算机程序的思维逻辑 (14) - 类的组合【转】

正所谓,道生一,一生二,二生三,三生万物,如果将二进制表示和运算看做一,将基本数据类型看做二,基本数据类型形成的类看做三,那么,类的组合以及下节介绍的继承则使得三生万物. 上节我们通过类Point介绍了类的一些基本概念和语法,类Point中只有基本数据类型,但类中的成员变量的类型也可以是别的类,通过类的组合可以表达更为复杂的概念. 程序是用来解决现实问题的,将现实中的概念映射为程序中的概念,是初学编程过程中的一步跨越.本节通过一些例子来演示,如何将一些现实概念和问题,通过类以及类的组合来表示和处

支持数据列表分页的帮助类

[WPF]闲着没事,写了个支持数据列表分页的帮助类 支持分页的MVVM组件大家可以网上找,老周这个类只是没事写来娱乐一下的,主要是功能简单,轻量级,至少它满足了我的需求,也许还有未知的 bug . 这个类支持对数据列表进行分页处理,原理是利用 Skip 和 Take 扩展方法,从源列表中取出某一段数据.在实例化的时候,需要提供一个 IEnumerable<T> 对象作为参数,本类会根据这个数据源来计算分页,使用参数T使其支持泛型. public PagabledCollection(IEnum

计算机程序的思维逻辑 (14) - 类的组合

正所谓,道生一,一生二,二生三,三生万物,如果将二进制表示和运算看做一,将基本数据类型看做二,基本数据类型形成的类看做三,那么,类的组合以及下节介绍的继承则使得三生万物. 上节我们通过类Point介绍了类的一些基本概念和语法,类Point中只有基本数据类型,但类中的成员变量的类型也可以是别的类,通过类的组合可以表达更为复杂的概念. 程序是用来解决现实问题的,将现实中的概念映射为程序中的概念,是初学编程过程中的一步跨越.本节通过一些例子来演示,如何将一些现实概念和问题,通过类以及类的组合来表示和处

PHP分页查询的类

下面这个代码是PHP中做分页查询的类. 具体的原理我也说不太清楚,网上摘得.有需要的朋友可以在我这里复制一下. <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $listRows; //每页显示行数 private $limit; //SQL语句使用limit从句,限制获取记录个数 private $uri; //自动获取url的请求地址 private $p

【C#公共帮助类】 Directory帮助类

大家知道,开发项目除了数据访问层很重要外,就是Common了,这里就提供了强大且实用的工具. [C#公共帮助类] Convert帮助类 [C#公共帮助类] Image帮助类 using System; using System.Configuration; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlContr

【C#公共帮助类】 Convert帮助类

大家知道,开发项目除了数据访问层很重要外,就是Common了,这里就提供了强大且实用的工具. [C#公共帮助类] Image帮助类 一.DataTable using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Reflection; using System.Collections; namespace Common

计算机程序的思维逻辑 (13) - 类【转】

类 上节我们介绍了函数调用的基本原理,本节和接下来几节,我们探索类的世界. 程序主要就是数据以及对数据的操作,为方便理解和操作,高级语言使用数据类型这个概念,不同的数据类型有不同的特征和操作,Java定义了八种基本数据类型,其中,四种整形byte/short/int/long,两种浮点类型float/double,一种真假类型boolean,一种字符类型char,其他类型的数据都用类这个概念表达. 前两节我们暂时将类看做函数的容器,在某些情况下,类也确实基本上只是函数的容器,但类更多表示的是自定

计算机程序的思维逻辑 (13) - 类

类 上节我们介绍了函数调用的基本原理,本节和接下来几节,我们探索类的世界. 程序主要就是数据以及对数据的操作,为方便理解和操作,高级语言使用数据类型这个概念,不同的数据类型有不同的特征和操作,Java定义了八种基本数据类型,其中,四种整形byte/short/int/long,两种浮点类型float/double,一种真假类型boolean,一种字符类型char,其他类型的数据都用类这个概念表达. 前两节我们暂时将类看做函数的容器,在某些情况下,类也确实基本上只是函数的容器,但类更多表示的是自定

【转载】计算机程序的思维逻辑 (13) - 类

类 上节我们介绍了函数调用的基本原理,本节和接下来几节,我们探索类的世界. 程序主要就是数据以及对数据的操作,为方便理解和操作,高级语言使用数据类型这个概念,不同的数据类型有不同的特征和操作,Java定义了八种基本数据类型,其中,四种整形byte/short/int/long,两种浮点类型float/double,一种真假类型boolean,一种字符类型char,其他类型的数据都用类这个概念表达. 前两节我们暂时将类看做函数的容器,在某些情况下,类也确实基本上只是函数的容器,但类更多表示的是自定