【问题标题】:Kendo Grid - Make a cell editable/uneditable for each row dynamicallyKendo Grid - 使每行的单元格可动态编辑/不可编辑
【发布时间】:2019-08-09 04:14:01
【问题描述】:

我有一个剑道网格,其中 COR ABA 编号可能可编辑,也可能不可编辑,具体取决于第一列中的值。因此,如果 NOC Code=='C01',则 COR ABA No. 可编辑,否则不可编辑。

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

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    我建议另一种方法,如果您不想让用户编辑单元格,请改为在编辑事件上调用 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>
    

    【讨论】:

    • 谢谢,closeCell 正是我所需要的。
    • @Scott 这就是我昨天建议你的,我想。哈哈无论如何,很高兴知道它有效。
    猜你喜欢
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    相关资源
    最近更新 更多