zoukankan      html  css  js  c++  java
  • C【C#公共帮助类】分页逻辑处理类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Common
    {
        /// <summary>
        /// 分页逻辑处理类
        /// </summary>
        public class PageCollection
        {
            /// <summary>
            /// 总页数
            /// </summary>
            public int TotalPages { get; set; }
            /// <summary>
            /// 当前页面
            /// </summary>
            public int CurrentPage { get; set; }
            /// <summary>
            /// 每页的记录数
            /// </summary>
            public int OnePageSize { get; set; }
            /// <summary>
            /// 总记录数
            /// </summary>
            public long TotalRows { get; set; }
            /// <summary>
            /// 排序
            /// </summary>
            public string OrderBy { get; set; }
    
            /// <summary>
            /// 构造无参默认为最大数
            /// </summary>
            public PageCollection()
            {
                this.CurrentPage = 0;
                this.OnePageSize = 20;//默认最大行数20条
            }
        }
        /// <summary>
        /// 分页逻辑处理类 linq to entites
        /// </summary>
        public class PageInfo<TEntity> where TEntity : class
        {
            public PageInfo(int index, int pageSize, int count, List<TEntity> list,string url="")
            {
                Index = index;
                PageSize = pageSize;
                Count = count;
                List = list;
                Url = url;
                //计算数据条数从开始到结束的值
                if (count == 0)
                {
                    BeginPage = 0;
                    EndPage = 0;
                }
                else
                {
                    int maxpage = count / pageSize;
    
                    if (count % pageSize > 0)
                    {
                        maxpage++;
                    }
                    if (index >= maxpage)
                    {
                        index = maxpage;
    
                        BeginPage = pageSize * index - pageSize + 1;
                        EndPage = count;
                    }
                    else
                    {
                        BeginPage = pageSize * index - pageSize + 1;
                        EndPage = pageSize * index;
                    }
                }
            }
    
            public int Index { get; private set; }
            public int PageSize { get; private set; }
            public int Count { get; private set; }
            public List<TEntity> List { get; set; }
            public string Url { get; set; }
            public int BeginPage { get; private set; }
            public int EndPage { get; private set; }
        }
    
        /// <summary>
        /// 分页逻辑处理类 dynamic
        /// </summary>
        public class PageInfo 
        {
            public PageInfo(int index, int pageSize, int count, dynamic list, string url = "")
            {
                Index = index;
                PageSize = pageSize;
                Count = count;
                List = list;
                Url = url;
                //计算数据条数从开始到结束的值
                if (count == 0)
                {
                    BeginPage = 0;
                    EndPage = 0;
                }
                else
                {
                    int maxpage = count / pageSize;
    
                    if (count % pageSize > 0)
                    {
                        maxpage++;
                    }
                    if (index >= maxpage)
                    {
                        index = maxpage;
    
                        BeginPage = pageSize * index - pageSize + 1;
                        EndPage = count;
                    }
                    else
                    {
                        BeginPage = pageSize * index - pageSize + 1;
                        EndPage = pageSize * index;
                    }
                }
            }
    
            public int Index { get; private set; }
            public int PageSize { get; private set; }
            public int Count { get; private set; }
            public dynamic List { get; private set; }
            public string Url { get; set; }
            public int BeginPage { get; private set; }
            public int EndPage { get; private set; }
        }
    
        /// <summary>
        /// Eazyui分页处理逻辑类
        /// </summary>
        public class PageEazyUi 
        {
            public PageEazyUi(int _page, int _pagesize, int _total, object _rows)
            {
                page = _page;
                pagesize = _pagesize;
                total = _total;
                rows = _rows;
            }
    
            public int page { get; private set; }
            public int pagesize { get; private set; }
            public int total { get; private set; }
            public object rows { get; private set; }
        }
    }
  • 相关阅读:
    用户故事与敏捷方法阅读笔记2
    用户故事与敏捷方法阅读笔记1
    梦断代码阅读笔记3
    梦断代码阅读笔记2
    梦断代码阅读笔记1
    疫情可视化项目-进度2
    疫情可视化项目-进度1
    每日总结3.16
    Android体温记录器更新-进度5
    每日总结3.11
  • 原文地址:https://www.cnblogs.com/deepalley/p/10308849.html
Copyright © 2011-2022 走看看