Add ToOffsetDataTablePage

This commit is contained in:
sunkaixuan
2025-04-14 11:41:32 +08:00
parent 9daae7160e
commit 32712fbf55
3 changed files with 80 additions and 0 deletions

View File

@@ -453,6 +453,43 @@ namespace SqlSugar
}
return ToDataTable();
}
public DataTable ToOffsetDataTablePage(int pageNumber, int pageSize)
{
if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer)
{
this.QueryBuilder.Offset = "true";
return this.ToDataTablePage(pageNumber, pageSize);
}
else
{
_ToOffsetPage(pageNumber, pageSize);
return this.ToDataTable();
}
}
public DataTable ToOffsetDataTablePage(int pageNumber, int pageSize, ref int totalNumber)
{
if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer)
{
this.QueryBuilder.Offset = "true";
return this.ToDataTablePage(pageNumber, pageSize, ref totalNumber);
}
else
{
totalNumber = this.Clone().Count();
_ToOffsetPage(pageNumber, pageSize);
return this.Clone().ToDataTable();
}
}
public DataTable ToOffsetDataTableByEntityPage(int pageNumber, int pageSize, ref int totalNumber)
{
return this.Context.Utilities.ListToDataTable(this.ToOffsetPage(pageNumber, pageSize,ref totalNumber));
}
public DataTable ToOffsetDataTablePage(int pageNumber, int pageSize, ref int totalNumber, ref int totalPage)
{
return this.Context.Utilities.ListToDataTable(this.ToOffsetPage(pageNumber, pageSize, ref totalNumber,ref totalPage));
}
public DataTable ToDataTableByEntityPage(int pageNumber, int pageSize, ref int totalNumber)
{
var list=this.ToPageList(pageNumber, pageSize,ref totalNumber);

View File

@@ -355,6 +355,39 @@ namespace SqlSugar
var list =await this.ToListAsync();
return this.Context.Utilities.ListToDataTable(list);
}
public Task<DataTable> ToOffsetDataTablePageAsync(int pageNumber, int pageSize)
{
if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer)
{
this.QueryBuilder.Offset = "true";
return this.ToDataTablePageAsync(pageNumber, pageSize);
}
else
{
_ToOffsetPage(pageNumber, pageSize);
return this.ToDataTableAsync();
}
}
public async Task<DataTable> ToOffsetDataTablePageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber)
{
if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer)
{
this.QueryBuilder.Offset = "true";
return await this.ToDataTablePageAsync(pageNumber, pageSize, totalNumber);
}
else
{
totalNumber.Value = await this.Clone().CountAsync();
_ToOffsetPage(pageNumber, pageSize);
return await this.Clone().ToDataTableAsync();
}
}
public async Task<DataTable> ToOffsetDataTableByEntityPageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber)
{
return this.Context.Utilities.ListToDataTable(await ToOffsetPageAsync(pageNumber,pageSize,totalNumber));
}
public async Task<DataTable> ToDataTableAsync()
{
QueryBuilder.ResultType = typeof(SugarCacheDataTable);

View File

@@ -270,6 +270,16 @@ namespace SqlSugar
Task<DataTable> ToDataTablePageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber);
Task<DataTable> ToDataTableByEntityPageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber);
DataTable ToOffsetDataTablePage(int pageNumber, int pageSize);
Task<DataTable> ToOffsetDataTablePageAsync(int pageNumber, int pageSize);
DataTable ToOffsetDataTablePage(int pageNumber, int pageSize, ref int totalNumber);
DataTable ToOffsetDataTableByEntityPage(int pageNumber, int pageSize, ref int totalNumber);
DataTable ToOffsetDataTablePage(int pageNumber, int pageSize, ref int totalNumber, ref int totalPage);
Task<DataTable> ToOffsetDataTablePageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber);
Task<DataTable> ToOffsetDataTableByEntityPageAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber);
List<T> ToOffsetPage(int pageNumber, int pageSize);
List<T> ToOffsetPage(int pageNumber, int pageSize,ref int totalNumber);
List<T> ToOffsetPage(int pageNumber, int pageSize, ref int totalNumber,ref int totalPage);