将新行添加到RadGridView-WPF

问题描述

我有一个Telerik RadGridView,用户可以在其中添加行并进行内联编辑。我正在使用RowValidating事件来确保用户在不填写必填字段的情况下不会离开行。

但是,添加新行时RowValidating事件已开始被调用,这意味着新行在创建后就立即以红色显示,因为用户尚未填写必填字段。 添加新行时,如何防止RowValidating事件被调用(或知道忽略该事件)?

注意:我不能仅检查是否没有数据并在方法开始时返回,因为我想以不同的方式处理该情况以允许用户删除空行。

解决方法

您可以检查GridViewRowValidatingEventArgs的EditOperationType。

将以下行添加到RowValidating方法的开头:

if (e.EditOperationType == GridViewEditOperationType.None) return;

如果要添加新行,则将跳过该方法的其余部分。

注意:我不知道为什么在添加新行而不是“插入”时EditOperationType为“无”,但这似乎就是如此。