如何确定在 Telerik MVC 网格中编辑时网格行是否是新的
How to determine if a grid row is new on edit in a Telerik MVC grid
我有一个包含布尔值 CreateIncident 的 Telerik MVC 网格。对于新行,我想将该值设置为 true。对于编辑,如果该值已经为真,我想禁用该复选框。 Kendo UI 显然是 added a method to determine if the row is new,但在 MVC 版本中无法访问相同的调用。我可以在 C# 中拦截 Insert 和 Update 事件,但那是在他们单击 Save 按钮之后。我可以拦截 Javascript 中的编辑事件,这是上面 Kendo 答案发出调用的地方。
或者,如果有更好的方法来处理这个问题,我愿意接受建议。
我找到了答案。在 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
对于新项目设置为 'insert',对于旧项目设置为 edit
。好用,那个。
实际答案是
if (e.model.isNew())
所以当 isNew() 为 True 时,你有一个新行,否则如果它为 False,你就处于编辑模式
我有一个包含布尔值 CreateIncident 的 Telerik MVC 网格。对于新行,我想将该值设置为 true。对于编辑,如果该值已经为真,我想禁用该复选框。 Kendo UI 显然是 added a method to determine if the row is new,但在 MVC 版本中无法访问相同的调用。我可以在 C# 中拦截 Insert 和 Update 事件,但那是在他们单击 Save 按钮之后。我可以拦截 Javascript 中的编辑事件,这是上面 Kendo 答案发出调用的地方。
或者,如果有更好的方法来处理这个问题,我愿意接受建议。
我找到了答案。在 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
对于新项目设置为 'insert',对于旧项目设置为 edit
。好用,那个。
实际答案是
if (e.model.isNew())
所以当 isNew() 为 True 时,你有一个新行,否则如果它为 False,你就处于编辑模式