Редактирование сетки данных на отдельной странице/компоненте

#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>