update demo con sorting
This commit is contained in:
@@ -15,6 +15,7 @@ namespace EgwCoreLib.BlazorTest.Pages
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
rawData = await ForecastService.GetForecastAsync(DateTime.Now);
|
||||
PageSizeEnab = new List<int>()
|
||||
{
|
||||
4,8,12,16,20,24,28,32,36,40
|
||||
@@ -24,9 +25,59 @@ namespace EgwCoreLib.BlazorTest.Pages
|
||||
|
||||
protected async Task ReloadAllData()
|
||||
{
|
||||
var rawData = await ForecastService.GetForecastAsync(DateTime.Now);
|
||||
await Task.Delay(1);
|
||||
totalCount = rawData.Count();
|
||||
forecasts = rawData.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
|
||||
List<WeatherForecast> currForecast = rawData.ToList();
|
||||
// effetuo sort...
|
||||
if (!string.IsNullOrEmpty(sortField))
|
||||
{
|
||||
switch (sortField)
|
||||
{
|
||||
case "TempC":
|
||||
if (sortAsc)
|
||||
{
|
||||
currForecast = currForecast.OrderBy(x => x.TemperatureC).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
currForecast = currForecast.OrderByDescending(x => x.TemperatureC).ToList();
|
||||
}
|
||||
break;
|
||||
case "TempF":
|
||||
if (sortAsc)
|
||||
{
|
||||
currForecast = currForecast.OrderBy(x => x.TemperatureF).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
currForecast = currForecast.OrderByDescending(x => x.TemperatureF).ToList();
|
||||
}
|
||||
break;
|
||||
case "Summary":
|
||||
if (sortAsc)
|
||||
{
|
||||
currForecast = currForecast.OrderBy(x => x.Summary).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
currForecast = currForecast.OrderByDescending(x => x.Summary).ToList();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case "Date":
|
||||
if (sortAsc)
|
||||
{
|
||||
currForecast = currForecast.OrderBy(x => x.Date).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
currForecast = currForecast.OrderByDescending(x => x.Date).ToList();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
forecasts = currForecast.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
|
||||
}
|
||||
|
||||
protected async Task SetCurrPage(int newNum)
|
||||
@@ -53,6 +104,7 @@ namespace EgwCoreLib.BlazorTest.Pages
|
||||
#region Private Fields
|
||||
|
||||
private List<WeatherForecast>? forecasts;
|
||||
private WeatherForecast[] rawData { get; set; } = new WeatherForecast[1];
|
||||
private bool sortAsc = true;
|
||||
private string sortField = "";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user