Kendo 网格 - 为每一行动态创建一个单元格 editable/uneditable
Kendo Grid - Make a cell editable/uneditable for each row dynamically
我有一个 Kendo 网格,其中 COR ABA 编号可能可编辑也可能不可编辑,具体取决于第一列中的值。所以,如果NOC Code=='C01',那么COR ABA No.是可以编辑的,否则是不可编辑的。
我通过在列上添加 Edit 事件并在该编辑处理程序中禁用 HTML 输入 Kendo 创建(当不允许编辑时)来实现此目的。 (在网格定义中,我有 Editable(true) 开始)。我想通过在网格的 DataBound 事件中进行逻辑检查来做到这一点。也就是说,在绑定所有数据之后,遍历数据,确定列何时不可编辑,并以某种方式防止这种情况发生。我的想法是简单地删除我假设 Kendo 在如上所述使用 Editable(true) 时为单元格添加的点击处理程序。是这样吗?或者如何?谢谢!
如果您不想让用户编辑单元格,我建议另一种方法,而不是在编辑事件上调用 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>
我有一个 Kendo 网格,其中 COR ABA 编号可能可编辑也可能不可编辑,具体取决于第一列中的值。所以,如果NOC Code=='C01',那么COR ABA No.是可以编辑的,否则是不可编辑的。
我通过在列上添加 Edit 事件并在该编辑处理程序中禁用 HTML 输入 Kendo 创建(当不允许编辑时)来实现此目的。 (在网格定义中,我有 Editable(true) 开始)。我想通过在网格的 DataBound 事件中进行逻辑检查来做到这一点。也就是说,在绑定所有数据之后,遍历数据,确定列何时不可编辑,并以某种方式防止这种情况发生。我的想法是简单地删除我假设 Kendo 在如上所述使用 Editable(true) 时为单元格添加的点击处理程序。是这样吗?或者如何?谢谢!
如果您不想让用户编辑单元格,我建议另一种方法,而不是在编辑事件上调用 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>