diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index ffda09891..7ebbb417a 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -461,6 +461,9 @@ namespace OrmTest.Demo isAny=SqlFunc.Subqueryable().Any(), isAny2 = SqlFunc.Subqueryable().Where(s=>false).Any() }).ToList(); + var totalPage = 0; + var total = 0; + db.Queryable().ToPageList(1, 2, ref total, ref totalPage); } public static void Page() diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index b6eed3cd3..cbebc3a9c 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -727,6 +727,12 @@ namespace SqlSugar var result = ToDataTablePage(pageIndex, pageSize); return result; } + public virtual DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage) + { + var result = ToDataTablePage(pageIndex, pageSize, ref totalNumber); + totalPage = (totalNumber + pageSize - 1) / pageSize; + return result; + } public virtual List ToList() { @@ -767,6 +773,12 @@ namespace SqlSugar totalNumber = count; return result; } + public virtual List ToPageList(int pageIndex, int pageSize, ref int totalNumber, ref int totalPage) + { + var result = ToPageList(pageIndex, pageSize, ref totalNumber); + totalPage = (totalNumber + pageSize - 1) / pageSize; + return result; + } public virtual KeyValuePair> ToSql() { diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index 939d2dfa0..ca9678ebf 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -136,11 +136,13 @@ namespace SqlSugar DataTable ToDataTablePage(int pageIndex, int pageSize); Task ToDataTablePageAsync(int pageIndex, int pageSize); DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber); + DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage); Task> ToDataTablePageAsync(int pageIndex, int pageSize, int totalNumber); List ToPageList(int pageIndex, int pageSize); Task> ToPageListAsync(int pageIndex, int pageSize); List ToPageList(int pageIndex, int pageSize, ref int totalNumber); + List ToPageList(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage); Task, int>> ToPageListAsync(int pageIndex, int pageSize, int totalNumber); ISugarQueryable WithCache(int cacheDurationInSeconds = int.MaxValue); ISugarQueryable WithCacheIF(bool isCache, int cacheDurationInSeconds = int.MaxValue);