asto
October 9, 2020, 1:44pm
1
Dear team,
is it possible to sort a grid by date column descending?
I try this but without result
@code {
ServiceResponse response;
RadzenGrid<JobTransmissionModel> grid;
List<JobTransmissionModel> data;
protected override async Task OnInitializedAsync()
{
base.OnInitialized();
response = await financeService.GetSkorzakTransmissionsAsync();
data = new List<JobTransmissionModel>();
data.AddRange(response.Models as List<JobTransmissionModel>);
data.OrderByDescending(x => x.Date);
}
protected override void OnAfterRender(bool firstRender)
{
//if (firstRender) grid.OrderBy("Date");
}
}
If I use grid.OrderBy("Date") I get ascending sorting.
Thanks and regards
Arne
enchev
October 9, 2020, 1:52pm
2
Try grid.OrderBy("Date Desc")
asto
October 9, 2020, 3:11pm
3
Sorry but no effect. Should I send Grid part also?
asto
October 13, 2020, 4:46am
5
Hi,
sorry for the late response. Licitec - was that a question or a confirmation? I tried both (desc, DESC) but in both versions no more data is loaded. Here is my complete page.
@page "/distribution/zugferd/listinvoices"
@using Meesenburg.DataHub.Interfaces;
@using Meesenburg.BusinessClient.Services;
@using Meesenburg.BusinessClient.Models;
@inject DistributionService service;
@inject NotificationService notification;
@inject NavigationManager uriHelper;
<RadzenGrid @ref="grid" Data="@data" TItem="JobTransmissionModel" AllowFiltering="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive" AllowPaging="true" PageSize="20" AllowSorting="true" ColumnWidth="200px">
<Columns>
<RadzenGridColumn TItem="JobTransmissionModel" Property="Date" Title="Datum"></RadzenGridColumn>
<RadzenGridColumn TItem="JobTransmissionModel" Property="Content" Title="Dokument"></RadzenGridColumn>
<RadzenGridColumn TItem="JobTransmissionModel" Property="Receiver" Title="Empfänger"></RadzenGridColumn>
<RadzenGridColumn TItem="JobTransmissionModel" Property="Email" Title="Email-Adresse"></RadzenGridColumn>
<RadzenGridColumn TItem="JobTransmissionModel" Title="Status">
<Template Context="item">
<div>
@if (item.Status.Equals(JobTransmissionStatus.Sended))
{<span class="badge badge-primary">versendet</span>}
else if (item.Status.Equals(JobTransmissionStatus.CovertionFailed))
{<span class="badge badge-error">Fehler Konvertierung</span> }
else
{ <span class="badge badge-error">Fehler Versand</span>}
</div>
</Template>
</RadzenGridColumn>
</Columns>
</RadzenGrid>
@code {
RadzenGrid<JobTransmissionModel> grid;
List<JobTransmissionModel> data;
protected override async Task OnInitializedAsync()
{
base.OnInitialized();
ServiceResponse response = await service.GetZUGFeRDInvoicesAsync();
data = new List<JobTransmissionModel>();
data.AddRange(response.Models as List<JobTransmissionModel>);
}
protected override void OnAfterRender(bool firstRender)
{
if (firstRender) grid.OrderBy("Date");
}
}
Any idea?
enchev
October 13, 2020, 5:59am
6
We will do our best to release today better way to do this - i.e. new method OrderByDescending(string property). In the meantime you can order the collection bound to the DataGrid Data property.
asto
October 13, 2020, 6:19am
7
That sounds good. I will wait for the new method
Thanks
It was a confirmation.
But it looks like the Radzen team is going to work on a new solution for that.
enchev
October 13, 2020, 4:39pm
9
The method is already added and released
licitec
October 13, 2020, 6:30pm
10
Okay !!!
It returned the result correctly.
Thank you very much.
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
itemGrid.OrderByDescending("NomeUnidadeSaude");
}
asto
October 14, 2020, 4:46am
11
Sorry for the late response - different time zone. Works perfect, thanks for the quick implementation.
Hi,
I reopen this discussion since this issue has appeared again:
OrderByDescending is not working
I see the top down triangle on the header, but data are not sorted. When using OrderBy (ascending order), everithing is working correctly
I've tried different ways but no one is working:
gridRQ.OrderBy("Name desc");
gridRQ.OrderByDescending("Name");
var column = gridRQ.ColumnsCollection.FirstOrDefault(p => p.Property == "Name");
column.SortOrder = SortOrder.Descending;