admin管理员组文章数量:1356815
I have a RadzenDataGrid where I display a Timespan that comes from a DB. When I want to filter the timespan (e.g. for "is not null", nothing happens and the args.Filter has no value, so it is just "it => ". Any ideas if this is even possible with timespans? Here the datagrid:
<RadzenDataGrid @ref="_grid" AllowFiltering="true" AllowColumnResize="true"
FilterMode="@FilterMode.Advanced" LoadData="@LoadData" Data="@_shipments">
<Columns>
<RadzenDataGridColumn TItem="SdShipment" Property="@nameof(SdShipment.OrderNumber)" Title="Order Number" Frozen="true" />
<RadzenDataGridColumn TItem="Shipment" Property="LifeSpan" Title="Life Span" Sortable="true" Filterable="true">
<Template Context="data">
@((data.LifeSpan.HasValue) ? data.LifeSpan.Value.Days.ToString() : "N/A")
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="Shipment" Property="Material.Type" Title="Material Type" />
<RadzenDataGridColumn TItem="Shipment" Property="Asset.AssetType" Title="Asset Type" />
</Columns>
</RadzenDataGrid>
private async Task LoadData(LoadDataArgs args)
{
_isLoading = true;
await InvokeAsync(StateHasChanged);
try
{
await using var context = await ContextFactory.CreateDbContextAsync();
var query = context.shipments
.AsQueryable();
var filterActive = false;
if(!string.IsNullOrEmpty(args.Filter))
{
query = query.Where(args.Filter);
filterActive = true;
}
if(!string.IsNullOrEmpty(args.OrderBy))
{
query = query.OrderBy(args.OrderBy);
}
_shipments = query.Skip(args.Skip ?? 0).Take(args.Top ?? 250).ToList();
}
catch(Exception ex)
{
...
}
finally
{
_isLoading = false;
await InvokeAsync(StateHasChanged);
}
}
本文标签:
版权声明:本文标题:c# - Filter for Timespan in RadzenDataGrid - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743961708a2569151.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论