我有一个带内联编辑的kendo网格。如果检查行中的另一个单元格,我希望能够使行中的一个单元格可编辑。如果没有检查,那么我希望该单元格是只读的。
我的列看起来像这样:
columns: [
{ field: "Title" }, // string
{ field: "Body" }, // string
{ field: "IsCalculated", template: "#= IsCalculated ? 'Yes' : 'No' #" }, // boolean
{ field: "Expression" } // string
]
如果选中了Calculated
,那么我希望Expression
可以编辑,否则,我希望它是只读的。
我查看了kendo网格的配置文档,并且我已经尝试了columns.editable
函数,但正如文档中所解释的那样:“当单元格/行时执行的JavaScript函数将被打开以进行编辑。返回的结果将决定是否将创建该列的编辑器。“
我可以使用此函数来确定单元格在打开之前是可编辑还是只读,但我希望能够在单元格打开进行编辑时更改它,并选中Calculated
复选框或未选中状态。
答案 0 :(得分:0)
尝试使用edit
阻止cancelRow()
事件:
edit: function(e) {
if (!e.model.IsCalculated &&
$(e.container).find('input').attr("name") == "Expression")
{
this.cancelRow();
}
}
更新 - 更好的条件:
if (!e.model.IsCalculated &&
$(e.container).find('input[name="Expression"]').length) // <---