微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在单独的页面/组件上编辑 DataGrid

如何解决在单独的页面/组件上编辑 DataGrid

刚刚从 Telerik 进入 Blazorise 网格。我有一个 DataGrid 工作,现在我想添加一个按钮来编辑不同页面/组件(不是内联或弹出窗口)上的记录。

我的原始起始网格标记

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

然后我希望在单击按钮时调用事件并传入 id 或 year 对象:

void OnYearEdit(int yearId)
{
    NavigationManager.Navigateto("/yearedit/1");
}

没有找到任何关于这个简单用例的例子。

解决方法

Mladen 非常友好地提供了快速响应。基本上,我只需要使用 DisplayTemplate:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。