问题描述
我有一个Telerik RadGridView,用户可以在其中添加行并进行内联编辑。我正在使用RowValidating事件来确保用户在不填写必填字段的情况下不会离开行。
但是,添加新行时RowValidating事件已开始被调用,这意味着新行在创建后就立即以红色显示,因为用户尚未填写必填字段。 添加新行时,如何防止RowValidating事件被调用(或知道忽略该事件)?
注意:我不能仅检查是否没有数据并在方法开始时返回,因为我想以不同的方式处理该情况以允许用户删除空行。
解决方法
您可以检查GridViewRowValidatingEventArgs的EditOperationType。
将以下行添加到RowValidating方法的开头:
if (e.EditOperationType == GridViewEditOperationType.None) return;
如果要添加新行,则将跳过该方法的其余部分。
注意:我不知道为什么在添加新行而不是“插入”时EditOperationType为“无”,但这似乎就是如此。