コード例 #1
0
        /// <summary>
        /// 两表分页查询数据(指定列)
        /// </summary>
        /// <param name="where"></param>
        /// <param name="pageSet"></param>
        /// <param name="obj"></param>
        /// <param name="orderBy"></param>
        /// <param name="isDesc"></param>
        /// <param name="isPageNavStr"></param>
        /// <returns></returns>
        public PageList <TResult> GetPageList <T, TResult, T2>(Expression <Func <T, T2, object[]> > express, Expression <Func <TResult, bool> > where, PageSet pageSet, Expression <Func <T, T2, TResult> > obj, Expression <Func <TResult, object> > orderBy, bool isDesc = false, bool isPageNavStr = false) where T : class, new()
        {
            if (pageSet == null)
            {
                pageSet = new PageSet()
                {
                    PageIndex = 1, PageSize = 100000
                };
            }

            OrderByType orderByType = OrderByType.Asc;

            if (isDesc)
            {
                orderByType = OrderByType.Desc;
            }

            int totalCount = 0;
            var list       = SqlSugarDB.Queryable <T, T2>(express).Select(obj).MergeTable().Where(where).OrderBy(orderBy, orderByType).ToPageList(pageSet.PageIndex, pageSet.PageSize, ref totalCount);

            PageList <TResult> result = new PageList <TResult>();

            result.PageIndex   = pageSet.PageIndex;
            result.RecordCount = totalCount;
            result.SetPageCount(pageSet.PageSize);
            if (isPageNavStr)
            {
                result.SetPageNavStr();
            }

            result.DataList = list;
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 分页查询数据(指定列,多排序条件)
        /// </summary>
        /// <typeparam name="TResult"></typeparam>
        /// <param name="where"></param>
        /// <param name="pageSet"></param>
        /// <param name="obj"></param>
        /// <param name="orderBy"></param>
        /// <param name="isPageNavStr"></param>
        /// <returns></returns>
        public PageList <TResult> GetPageList <T, TResult>(Expression <Func <T, bool> > where, PageSet pageSet, Expression <Func <T, TResult> > obj, string orderBy, bool isPageNavStr = false) where T : class, new()
        {
            if (pageSet == null)
            {
                pageSet = new PageSet()
                {
                    PageIndex = 1, PageSize = 100000
                };
            }

            int totalCount = 0;
            var list       = SqlSugarDB.Queryable <T>().Where(where).OrderBy(orderBy).Select(obj).ToPageList(pageSet.PageIndex, pageSet.PageSize, ref totalCount);

            PageList <TResult> result = new PageList <TResult>();

            result.PageIndex   = pageSet.PageIndex;
            result.RecordCount = totalCount;
            result.SetPageCount(pageSet.PageSize);
            if (isPageNavStr)
            {
                result.SetPageNavStr();
            }

            result.DataList = list;
            return(result);
        }
コード例 #3
0
ファイル: PageList.cs プロジェクト: zhaohuawu/HF_Mall
 public PageList <T> TranFromList(List <T> data, PageSet pageset)
 {
     this.PageIndex   = pageset.PageIndex;
     this.RecordCount = data.Count;
     //this.SetPageCount();
     this.DataList = data.Skip((pageset.PageIndex - 1) * pageset.PageSize).Take(pageset.PageSize).ToList <T>();
     return(this);
 }