• 改进的PageView


        public class PageView<T>
        {
            private ColumnTitle[] _columnTitles;
            public int RecordCount { get; }
            public IList<T> Items { get; }
            public int PageIndex { get; }
            public int PageSize { get; }
            public int PageCount { get; }

            public PageView(int pageSize, int pageIndex, IList<T> items, int recordCount)
            {
                Items = items ?? new List<T>();
                if (pageSize <= 0) throw new ArgumentOutOfRangeException(nameof(pageSize));
                if (pageIndex <= 0) throw new ArgumentOutOfRangeException(nameof(pageIndex));
                if (recordCount < 0) throw new ArgumentOutOfRangeException(nameof(recordCount));

                RecordCount = recordCount;
                PageCount = Convert.ToInt32(Math.Ceiling(recordCount * 1.0 / pageSize));
                PageIndex = pageIndex > PageCount ? PageCount : pageIndex;
                PageSize = pageSize;

            }

            /// <summary>
            /// 列标题
            /// </summary>
            public ColumnTitle[] ColumnTitles
            {
                get
                {
                    if (_columnTitles == null)
                    {
                        var type = typeof(T);
                        _columnTitles = type.GetColumnTitle();
                    }
                    return _columnTitles;
                }
            }
        }

  • 相关阅读:
    SpringBoot全局日志管理(AOP)
    SpringBoot集成Shiro
    MybatisPlus使用介绍
    SpringBoot集成MybatisPlus
    SpringBoot集成多数据源
    SpringBoot事务管理
    ETL 工具和 BI 工具
    oracle中行转列操作
    Oracle基本数据类型总结
    LINUX中lrzsz软件的使用
  • 原文地址:https://www.cnblogs.com/nirvanan/p/11981605.html
Copyright © 2020-2023  润新知