public static PdfRenderer CreateInstance(IReportCreator basePager, string fileName, bool showOutput) { if (basePager == null) { throw new ArgumentNullException("basePager"); } if (String.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("fileName"); } BasePager bp = basePager as BasePager; return(PdfRenderer.CreateInstance(bp.ReportModel.ReportSettings, bp.Pages, fileName, showOutput)); }
/// <summary> /// 获取分页数据, 复杂版本, 支持join /// </summary>d /// <param name="pager"></param> /// <param name="where">查询条件</param> /// <param name="param">参数</param> /// <param name="join">连接</param> /// <param name="orderby">排序</param> /// <param name="select">选择什么</param> /// <param name="tableName">表 </param> /// <param name="tableIsSubQuery">表为子查寻</param> /// <param name="groupby">分组</param> /// <param name="type">分组</param> /// <returns></returns> public static IList <TP> GetByPager <TP>(string tableName, BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false) { var baseSql = " from " + tableName + (tableIsSubQuery ? "" : " as obj ") + (!string.IsNullOrEmpty(join) ? join : "") + " " + (!string.IsNullOrEmpty(where) ? "where " + where : "") + " "; baseSql += string.IsNullOrEmpty(groupby) ? "" : " GROUP BY " + groupby + " "; var orderBySql = (!string.IsNullOrEmpty(orderby) ? "order by " + orderby : "order by obj.ID desc"); var countSql = ""; if (string.IsNullOrEmpty(groupby)) { countSql = "select count(*) " + baseSql; } else { countSql = "select count(*) from (select " + groupby + " " + baseSql + ") as sub"; } var count = GetCurrentConnection().QueryFirstOrDefault <long>(countSql, param); pager.TotalRecord = count; if (count > 0) { if (pager.CurrentPage > pager.TotalPage) { pager.CurrentPage = pager.TotalPage; } var dataSql = "select * from (select ROW_NUMBER() over (" + orderBySql + ") as RowNum, " + (!string.IsNullOrEmpty(select) ? select : "obj.*") + baseSql + ") as sub where sub.RowNum BETWEEN " + ((pager.CurrentPage - 1) * pager.PageSize + 1) + " and " + ((pager.CurrentPage - 1) * pager.PageSize + pager.PageSize); var list = GetCurrentConnection().Query <TP>(dataSql, param).ToList(); return(list); } return(new List <TP>()); }
/// <summary> /// 获取分页数据, 复杂版本, 支持join /// </summary> /// <param name="pager"></param> /// <param name="where">查询条件</param> /// <param name="param">参数</param> /// <param name="join">连接</param> /// <param name="orderby">排序</param> /// <param name="select">选择什么</param> /// <returns></returns> public IList <TModel> GetByPager(BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false) { return(GetByPager <TModel>(pager, where, param, select, join, orderby, groupby, tableIsSubQuery)); }
/// <summary> /// 获取分页数据, 复杂版本, 支持join /// </summary> /// <param name="pager"></param> /// <param name="where">查询条件</param> /// <param name="param">参数</param> /// <param name="join">连接</param> /// <param name="orderby">排序</param> /// <param name="select">选择什么</param> /// <param name="tableIsSubQuery"></param> /// <returns></returns> public IList <TP> GetByPager <TP>(BasePager pager, string where = "", object param = null, string select = "", string join = "", string orderby = "", string groupby = "", bool tableIsSubQuery = false) { return(DbHelper.GetByPager <TP>(TableName, pager, where, param, select, join, orderby, groupby, tableIsSubQuery)); }
public WebPager(BasePager <T> pager) : base(pager) { }