• 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; }
        }
    }
  • 相关阅读:
    php中global和$GLOBALS[]的分析之一
    javascript 标签 src 链接动态文件。
    Allegro基本操作——PCB布线
    AMD单桥主板上电时序的详细解释
    AMD单双桥时序简叙
    AMD移动FP5平台时序解释
    orcad元件属性批量修改(通过excel表格)
    加减乘除基本函数
    1.excel如何让一列的数都乘以固定值
    ORCAD元件属性白色区域和黄色区域的理解
  • 原文地址:https://www.cnblogs.com/deepalley/p/10308849.html
Copyright © 2020-2023  润新知