Blazor QuickGrid — добавление класса на основе значения свойства контекста элемента строки
Мне нужно добавить класс в ячейку строки на основе ее значения.
Что-то вроде:
@inject DataSource Data
<div class="grid">
<QuickGrid Items="@Data.People">
<PropertyColumn Property="@(c => c.PersonId)" Sortable="true" />
<PropertyColumn Property="@(c => c.FirstName)" Sortable="true" />
<PropertyColumn Property="@(c => c.LastName)" Sortable="true" />
<PropertyColumn Property="@(c => c.BirthDate)" Format="yyyy-MM-dd" Sortable="true" Class="@GetClass(context.BirthDate)" />
</QuickGrid>
</div>
@code {
string GetClass(DateOnly birthDate) => birthDate.Year < 2000 ? "table-success" : "table-warning";
}
Я не могу получить доступ к свойству элемента из других параметров PropertyColumn.
Я пытался использовать TemplateColumn, но он работает только для тега внутри ячейки, а не для всей ячейки.
<TemplateColumn>
<div class="@GetClass(context.BirthDate)">
@context.ToString("yyyy-MM-dd")
</div>
</TemplateColumn>
Это также означает, что мне придется вручную обрабатывать сортировку столбца, который автоматически доступен через тег PropertyColumn.