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

如何在Blazor的MudDataGrid中通过行ID删除指定行

如何通过行ID删除Blazor MudDataGrid中选中的单条记录?

你的核心问题是当前删除逻辑用ItemName作为筛选条件,导致同名记录被批量删除。只需改成基于实体的唯一标识字段(比如Id/ItemId)筛选即可,步骤如下:

  1. 确认实体的唯一标识字段
    确保你的Menuitemlist实体包含唯一标识属性(比如Id、ItemId这类每个记录独有的字段,这是数据库实体的标准设计)。

  2. 修改删除方法的筛选逻辑
    将RemoveItem方法中基于ItemName的筛选,替换为基于唯一标识的判断:

原代码:

private void RemoveItem(Menuitemlist x)
{
    orderitems = orderitems.Where(u => u.ItemName != x.ItemName).ToList();
    Elements = orderitems;
    StateHasChanged();
}           

修改后代码(假设唯一标识字段是Id,请替换为你实际的字段名):

private void RemoveItem(Menuitemlist x)
{
    // 仅删除与当前点击记录ID匹配的项
    orderitems = orderitems.Where(u => u.Id != x.Id).ToList();
    // 也可以用RemoveAll简化写法:orderitems.RemoveAll(u => u.Id == x.Id);
    Elements = orderitems;
    // StateHasChanged(); // 同步操作下Blazor会自动触发UI更新,可按需保留
}           
  1. 原理说明
    唯一标识字段是每条记录的专属标记,用它作为筛选条件只会匹配你点击的那一行数据,彻底避免同名记录被误删的问题。

内容的提问来源于stack exchange,提问作者Danul Hivi Vihan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:03:13