You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor WebAssembly中如何基于DxGrid行属性控制删除按钮可见性?

实现DxGrid行级控制删除按钮显示

方法一:使用CustomizeCommandButtons事件

  1. 在DxGrid组件上绑定事件,同时开启删除按钮的全局可见性:
<DxGrid @ref="Grid" Data="@YourDataSource" 
        CustomizeCommandButtons="OnCustomizeCommandButtons">
    <Columns>
        <DxGridDataColumn FieldName="column1" />
        <DxGridDataColumn FieldName="column2" />
        <DxGridDataColumn FieldName="column3" />
        <DxGridCommandColumn Width="160px" DeleteButtonVisible="true" />
    </Columns>
</DxGrid>
  1. 在代码段中实现事件逻辑,根据行数据属性动态控制按钮可见性:
private DxGrid Grid { get; set; }
private void OnCustomizeCommandButtons(GridCustomizeCommandButtonsEventArgs e)
{
    // 替换为你的数据模型类型
    var dataItem = (YourDataModel)e.DataItem;
    // 替换为实际判断条件,比如 dataItem.IsAllowDelete、dataItem.Status != "Locked" 等
    e.Buttons[GridCommandButtonKind.Delete].Visible = dataItem.CanDelete;
}

方法二:使用DeleteButtonTemplate自定义模板

如果需要更灵活的按钮样式或逻辑,可采用模板方式:

<DxGrid @ref="Grid" Data="@YourDataSource">
    <Columns>
        <DxGridDataColumn FieldName="column1" />
        <DxGridDataColumn FieldName="column2" />
        <DxGridDataColumn FieldName="column3" />
        <DxGridCommandColumn Width="160px" EditButtonVisible="true">
            <DeleteButtonTemplate>
                @{
                    var dataItem = (YourDataModel)context.DataItem;
                    if (dataItem.CanDelete) // 你的判断条件
                    {
                        <DxButton CssClass="dxbl-grid-command-button" 
                                  Icon="delete" 
                                  Click="@(() => Grid.DeleteRow(dataItem))" />
                    }
                }
            </DeleteButtonTemplate>
        </DxGridCommandColumn>
    </Columns>
</DxGrid>

注意事项

  • 替换YourDataModel为你实际绑定到Grid的实体类类型
  • 将CanDelete替换为控制按钮显示的具体属性或业务逻辑
  • 确保Grid的@ref引用已正确声明,用于调用DeleteRow方法
  • 如需保留添加按钮,默认工具栏模式下会自动显示,无需额外配置

内容的提问来源于stack exchange,提问作者andreasperelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:02:39