#blazor #blazorise
Вопрос:
Просто попадаю в сетку Blazorise, исходящую от Телерика. У меня работает сетка данных, теперь я хочу добавить кнопку для редактирования записи на другой странице/компоненте (не встроенной или всплывающей).
Моя необработанная начальная разметка сетки:
<DataGrid TItem="Year" Data="@years" Sortable="true" PageSize="30" UseInternalEditing="false">
<DataGridCommandColumn TItem="Year">
<EditCommandTemplate>
<Button Color="Color.Primary" Clicked="@((e) => OnYearEdit(e))">Edit</Button>
</EditCommandTemplate>
</DataGridCommandColumn>
<DataGridColumn TItem="Year" Field="@nameof(Year.IsActive)" Caption="Active?"></DataGridColumn>
<DataGridColumn TItem="Year" Field="@nameof(Year.YearId)" Caption="ID"></DataGridColumn>
</DataGrid>
Затем я хочу, чтобы событие вызывалось при нажатии кнопки, передавая либо идентификатор, либо объект года:
void OnYearEdit(int yearId)
{
NavigationManager.NavigateTo("/yearedit/1");
}
Не нахожу никаких примеров этого простого варианта использования.
Ответ №1:
Младен был достаточно любезен, чтобы быстро ответить. В принципе, мне просто нужно было использовать экранную панель:
<DataGridColumn TItem="Year" Field="@nameof(Year.YearId)" Caption="YearId" Editable="true">
<DisplayTemplate>
<Button class="btn btn-sm btn-info" Clicked="@(()=>NavigationManager.NavigateTo($"yearedit/{context.YearId}"))">Edit</Button>
</DisplayTemplate>
</DataGridColumn>