Hi, i need to filter a column by item. This is a part of my code:
<RadzenDataGrid Data="@data" AllowAlternatingRows="false" AllowFiltering="true" AllowPaging="true" PageSize="20" AllowSorting="true" class="mb-3">
<Columns>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Tutorando">
<Template Context="data">
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item3.User.FirstName @data.Item3.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item3.User.Email</RadzenText>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Tutor">
<Template Context="data">
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item1.User.FirstName @data.Item1.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item1.User.Email</RadzenText>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Mentor">
<Template Context="data">
@if (data.Item2.User != null)
{
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item2.User.FirstName @data.Item2.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item2.User.Email</RadzenText>
}
else
{
....
i want to filter from a column: item1.something for example. It is possible to use advance filter like this away
I've been looking at the documents and I want something like DataGrid dynamic data. I will keep trying
Ya, but in some objects i have column template (Blazor DataGrid custom appearance via column templates )
It possible define a Property value to filter in the way that I have the code?
<RadzenDataGrid Data="@data" AllowAlternatingRows="false" AllowFiltering="true" AllowPaging="true"
FilterMode="FilterMode.Advanced" PageSize="20" AllowSorting="true" class="mb-3">
<Columns>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Tutorando">
<Template Context="data">
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item3.User.FirstName @data.Item3.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item3.User.Email</RadzenText>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Tutor">
<Template Context="data">
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item1.User.FirstName @data.Item1.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item1.User.Email</RadzenText>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Mentor">
<Template Context="data">
@if (data.Item2.User != null)
{
<RadzenText TextStyle="TextStyle.Subtitle2" Class="mb-0">@data.Item2.User.FirstName @data.Item2.User.LastName</RadzenText>
<RadzenText TextStyle="TextStyle.Caption">@data.Item2.User.Email</RadzenText>
}
else
{
<RadzenText TextStyle="TextStyle.Subtitle1">Sem mentor</RadzenText>
}
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Curso" Property="data.Item4.CourseName">
<Template Context="data">
@data.Item4.CourseName
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Title="Nº reuniões">
<Template Context="data">
@data.Item5
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="(Enrollement,Enrollement,Enrollement, Course,int,int)" Filterable="false" Sortable="false" TextAlign="TextAlign.Right" Width="156px">
<Template Context="data">
<RadzenButton Icon="visibility" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" @onclick:stopPropagation="true" />
<RadzenButton Icon="edit" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" Class="my-1" @onclick:stopPropagation="true" />
<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Variant="Variant.Flat" Shade="Shade.Lighter" Size="ButtonSize.Medium" Click="@(args => DeleteGroupConfirmDialog(data.Item6))" @onclick:stopPropagation="true" />
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGrid>
enchev
February 22, 2023, 4:23pm
5
You can filter at data level only - no data from templates can be used when filtering.
what is the best option I have to do?
I pretend to filter this data:
enchev
February 22, 2023, 4:38pm
7
If you need to construct some value runtime better add additional property to your data item with calculated value and later this property can be used in filtering, sorting, templates, etc.
I didn't understand very well, what if I create a class for this specific datagrid, so I use only 1 item object. it legit?
UPDATE: I created a custom class with the attributes I intended to place and this way it is already possible for me to filter
Thanks