我有一个Kendo网格,根据第一栏中的值,COR ABA号可能是可编辑的,也可能是不可编辑的。因此,如果NOC Code =='C01',则COR ABA号是可编辑的,否则不可编辑。
我通过在列上添加Edit事件并在不允许编辑的情况下禁用Kendo创建的HTML输入的编辑处理程序来实现此目的。 (在网格定义中,我要启动Editable(true))。我想通过在网格的DataBound事件中进行逻辑检查来做到这一点。也就是说,在绑定所有数据之后,请对数据进行迭代,确定何时该列不应该是可编辑的,并以某种方式防止这种情况。我的想法是,如上所述,当使用Editable(true)时,只需删除I ASSUME Kendo为单元格添加的单击处理程序。是这样吗或如何?谢谢!
答案 0 :(得分:2)
我建议另一种方法,如果您不想允许用户编辑单元格,则在编辑事件上调用closeCell()。这样,当用户单击该单元格进行编辑时,该单元格将不会显示输入。
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [
{ field: "id" },
{ field: "name" },
{ field: "age" }
],
dataSource: {
data: [
{ id: 1, name: "Jane Doe", age: 30 },
{ id: 2, name: "John Doe", age: 33 }
],
schema: {
model: {
id: "id",
fields: {
"id": { type: "number" }
}
}
}
},
editable: "incell",
toolbar:["create"],
edit: function(e) {
if (!e.model.isNew() && e.container.index() == 0) {
var grid = $("#grid").data("kendoGrid");
grid.closeCell();
}
}
});
</script>