如何确定在Telerik MVC网格中编辑时网格行是否是新的

如何确定在Telerik MVC网格中编辑时网格行是否是新的,telerik,telerik-grid,telerik-mvc,Telerik,Telerik Grid,Telerik Mvc,我有一个Telerik MVC网格,其中包含一个布尔值CreateIncident。对于新行,我希望将该值设置为true。对于编辑,如果该值已经为true,我想禁用该复选框。剑道用户界面很明显,但在MVC版本中无法访问相同的调用。我可以在C#中截取插入和更新事件,但那是在它们单击保存按钮之后。我可以截获Javascript中的编辑事件,这就是上面的剑道应答发出调用的地方 或者,如果有更好的方法处理这个问题,我愿意接受建议。我找到了答案。在javascript内部,我可以执行以下检查: // If

我有一个Telerik MVC网格,其中包含一个布尔值CreateIncident。对于新行,我希望将该值设置为true。对于编辑,如果该值已经为true,我想禁用该复选框。剑道用户界面很明显,但在MVC版本中无法访问相同的调用。我可以在C#中截取插入和更新事件,但那是在它们单击保存按钮之后。我可以截获Javascript中的编辑事件,这就是上面的剑道应答发出调用的地方


或者,如果有更好的方法处理这个问题,我愿意接受建议。

我找到了答案。在javascript内部,我可以执行以下检查:

// If this wasn't just created and Create Incident is checked, we already have a value for this, so disable it.
if (e.dataItem.CreateIncident == true && e.mode == 'edit') {
    $('#CreateIncident').attr("disabled", "disabled");
}
e.mode
对于新项目设置为“插入”,对于旧项目设置为
edit
。Handy,那是。

实际答案是

if (e.model.isNew())

因此,当isNew()为True时,您将有一个新行,否则如果为False,您将处于编辑模式。不幸的是,那是两份工作之前的事了,所以我不再有代码来测试它。我知道,但我认为这会帮助其他人。第一次我用了你们的例子,我认为它是有效的,但事实并非如此,因为即使我添加新行或编辑一行,它也总是正确的。但是使用isNew()它工作得非常好。