MudDataGrid中使用MudCheckBox编辑布尔值时CommittedItemChanges事件失效
MudDataGrid中MudCheckBox编辑布尔值时CommittedItemChanges不触发的修复方案
问题根源
你代码里的EditTemplate中,MudCheckBox既没和编辑项的布尔属性做双向绑定,也没在值变更时通知MudDataGrid的编辑上下文,导致Grid无法感知到布尔值的修改,最终CommittedItemChanges事件无法触发。而其他输入组件(如MudTextField)内部已默认处理了状态通知,所以正常工作。
修复步骤
- 给MudCheckBox添加双向绑定,关联到编辑项的布尔属性
- 新增
ValueChanged回调,手动调用context.NotifyItemChanged()告知Grid数据已更新
修改后的关键代码片段
<EditTemplate> <MudCheckBox @bind-Value="context.Item.IsActive" ValueChanged="(_) => context.NotifyItemChanged()"/> </EditTemplate>
原理说明
MudCheckBox的状态变更不会自动触发MudDataGrid的编辑上下文更新,必须通过NotifyItemChanged()手动通知Grid,这样在提交修改时,CommittedItemChanges才能捕获到布尔字段的变更记录。
内容的提问来源于stack exchange,提问作者M Mohammad
相关产品推荐
相关产品推荐

