Files
qbtmud/Lantean.QBTMudBlade/Components/ExtendedTable.razor
2024-04-22 14:15:07 +01:00

63 lines
1.8 KiB
Plaintext

@inherits MudTable<T>
@typeparam T
@{
base.BuildRenderTree(__builder);
}
@code {
private RenderFragment ColGroupFragment(IEnumerable<ColumnDefinition<T>> columns) =>
@<NonRendering>
@if (MultiSelection)
{
<col />
}
@foreach (var column in columns)
{
var style = column.Width.HasValue ? $"width: {column.Width.Value}px" : null;
<col style="@style" />
}
</NonRendering>;
private RenderFragment HeaderContentFragment(IEnumerable<ColumnDefinition<T>> columns) =>
@<NonRendering>
@foreach (var column in columns)
{
<MudTh>
@if (column.SortSelector is not null)
{
<MudTableSortLabel T="T" SortDirectionChanged="@(c => SetSort(column.SortSelector, c))">@column.Header</MudTableSortLabel>
}
else
{
@column.Header
}
</MudTh>
}
</NonRendering>;
private RenderFragment<T> RowTemplateFragment(IEnumerable<ColumnDefinition<T>> columns) => data =>
@<NonRendering>
@foreach (var column in columns)
{
<MudTd DataLabel="@column.Header" Class="@column.Class">
@column.RowTemplate(column.GetRowContext(data))
</MudTd>
}
</NonRendering>;
private RenderFragment<T> RowTemplateFragment2(IEnumerable<ColumnDefinition<T>> columns)
{
return context => __builder =>
{
foreach (var column in columns)
{
<MudTd DataLabel="@column.Header" Class="@column.Class">
@column.RowTemplate(column.GetRowContext(context))
</MudTd>
}
};
}
}