/// <summary>
        /// 获取分页数据
        /// </summary>
        /// <param name="opPagerData"></param>
        /// <param name="paras"></param>
        /// <returns></returns>
        public override DataTable GetDataPager(FrameCommon.SSY_PagingExecuteParam opPagerData, params IDataParameter[] paras)
        {
            if (opPagerData.PagingParam.TotalSize > 0)
            {
                //实现获取分页数据
                StringBuilder sbbSql   = new StringBuilder();
                string        sortType = string.Empty; //排序类型

                if (opPagerData.PagingParam.SortType == FrameCommon.AscOrDesc.Asc)
                {
                    sortType = " asc ";
                }
                else
                {
                    sortType = " desc ";
                }

                if (string.IsNullOrEmpty(opPagerData.SqlWhere))
                {
                    sbbSql.Append(string.Format(@" Select * FROM (Select Rownum rowcnt, 
                                    QR.* from (Select  {0} from {1} {2} order by {3} {4} ", opPagerData.Fields, opPagerData.TableNameOrView,
                                                opPagerData.Joins, opPagerData.OrderField, sortType));
                }
                else
                {
                    sbbSql.Append(string.Format(@" Select * FROM (Select Rownum As rowcnt, 
                                    QR.* from (Select {0} from {1} {2} where {3} order by {4} {5} ", opPagerData.Fields,
                                                opPagerData.TableNameOrView, opPagerData.Joins, opPagerData.SqlWhere, opPagerData.OrderField, sortType));
                }

                //区间段
                int startRecord = (opPagerData.PagingParam.PageIndex - 1) * opPagerData.PagingParam.PageSize + 1;
                int endRecord   = startRecord + opPagerData.PagingParam.PageSize - 1;

                sbbSql.Append(string.Format(@" ) QR) where rowcnt between {0} and {1} ", startRecord.ToString(),
                                            endRecord.ToString()));

                return(this.GetDataTable(sbbSql.ToString(), SqlExecType.SqlText, paras));
            }
            else
            {
                return(new DataTable());
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 获取分页数据
 /// </summary>
 /// <param name="opPagerData"></param>
 /// <param name="paras"></param>
 /// <returns></returns>
 public virtual DataTable GetDataPager(FrameCommon.SSY_PagingExecuteParam opPagerData, params IDataParameter[] paras)
 {
     return(null);
 }