我有一个带有内联编辑功能的剑道网格。如果选中该行中的另一个单元格,我希望能够使该行中的一个单元格可编辑。如果没有选中,那么我希望该单元格是只读的。
我的专栏如下所示:
columns: [
{ field: "Title" }, // string
{ field: "Body" }, // string
{ field: "IsCalculated", template: "#= IsCalculated ? 'Yes' : 'No' #" }, // boolean
{ field: "Expression" } // string
]
如果选中Calculated
,那么我希望Expression
可编辑,否则,我希望它是只读的。
我查看了剑道网格的配置文档,并且尝试了 columns.editable
函数,但如文档中所述:“当单元格/行<时执行的 JavaScript 函数strong>about 打开进行编辑。返回的结果将决定是否为该列创建编辑器。”
我可以使用此函数来确定单元格在打开之前是否应可编辑或只读,但我希望能够在单元格打开进行编辑和已计算
复选框时更改它选中或取消选中。
最佳答案
尝试阻止 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) // <---
关于javascript - 根据其他单元格的状态使剑道网格单元格可编辑或只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325763/