【问题标题】:Non editable kendo grid ID不可编辑的剑道网格 ID
【发布时间】:2018-07-31 08:49:23
【问题描述】:

我是使用剑道网格 UI 的新手,我正在尝试使用简单的代码制作一个不可编辑的列(更新时):

schema: {
   id: 'ID', 
   fields: {
     id: { editable: false }
   }
}

这个默认模式,默认情况下是不可编辑的 id 列,我什至不能用 id 创建一个新行。 我想让它不可编辑(更新时),但我希望能够创建一行并从用户分配一个 id(创建时)。

有什么想法吗?

编辑:

PS : 属性不只与id相关,可以在每一列(不能更新但可以创建)

【问题讨论】:

    标签: javascript jquery kendo-ui kendo-grid


    【解决方案1】:

    editable 需要一个函数而不是一个值。

    columns: [
        { field: 'value', editable: function () { return false; } }
    ],
    

    在这里结帐: https://dojo.telerik.com/oROJayAd

    【讨论】:

      【解决方案2】:

      我一直怀疑editable 选项。它从来没有真正为我工作过。它应该在设置中有一些非常深入的东西才能使它工作,而我从来没有意识到它是什么。所以这是一种完成你需要的方法,我知道它确实有效:取消edit event。看看吧:

      edit: function(e) {
          // Cancels a new row
          if (arguments, e.model.isNew()) {
              this.cancelRow(e.container.parent());
          }
          else { // Cancels a cell editing
              this.closeCell(e.container);
          }
      }
      

      Demo

      现在,如果您想根据您在模型中设置的内容在该事件中添加条件,您也可以在事件中访问它:

      edit: function(e) {
          let currentColumn = this.options.columns[e.container.index()].field,
              model = this.dataSource.options.schema.model.fields[currentColumn];
      
          if (model.editable === false) {
              // Cancels a new row
              if (arguments, e.model.isNew()) {
                  this.cancelRow(e.container.parent());
              }
              else { // Cancels a cell editing
                  this.closeCell(e.container);
              }
          }
      }
      

      Demo

      您可以自己在模型中添加一个选项来设置是否可以更新或仅创建列,并在事件中处理该信息,随时取消编辑。

      【讨论】:

      • 在你上次的演示中,列 productName 是不可编辑的,这很好,但是在创建新行时它应该是可用的!
      【解决方案3】:

      这就是我刚才的做法,虽然还有其他方法。

      columns 选项中,如果您从不知道从哪里绑定它的列中删除field 选项。

      然后使用模板选项显示(绑定)id。从而使其只读

      columns: [
          {
              title: 'Id', width: "40px",
              template: "#= id #",
          },
          ...]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-29
        • 2012-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多