Kendo Grid-动态更改每行的单元格可编辑/不可编辑

时间:2019-03-18 17:55:35

标签: kendo-ui kendo-grid

我有一个Kendo网格,根据第一栏中的值,COR ABA号可能是可编辑的,也可能是不可编辑的。因此,如果NOC Code =='C01',则COR ABA号是可编辑的,否则不可编辑。

enter image description here

我通过在列上添加Edit事件并在不允许编辑的情况下禁用Kendo创建的HTML输入的编辑处理程序来实现此目的。 (在网格定义中,我要启动Editable(true))。我想通过在网格的DataBound事件中进行逻辑检查来做到这一点。也就是说,在绑定所有数据之后,请对数据进行迭代,确定何时该列不应该是可编辑的,并以某种方式防止这种情况。我的想法是,如上所述,当使用Editable(true)时,只需删除I ASSUME Kendo为单元格添加的单击处理程序。是这样吗或如何?谢谢!

1 个答案:

答案 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>