mirror of
https://github.com/lantean-code/qbtmud.git
synced 2025-10-22 20:42:24 +00:00
63 lines
1.8 KiB
Plaintext
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>
|
|
}
|
|
};
|
|
}
|
|
} |