Kendo UI Grid .Net MVC - 仅在创建时可编辑的列

Kendo UI Grid .Net MVC - Column editable in Creation only

我一直在寻找如何在 Kendo 网格 ASP.Net MVC (Razor) 中创建列,仅在创建时可编辑,在更新时不可编辑。

有什么特别的东西可以帮助我完成这项任务吗?

您可以将自定义函数绑定到 onEdit 事件并将该列设置为只读:

@(Html.Kendo().Grid<DemoType>()
      .Name("grid")
      .Columns(columns =>
      {
         /*...*/
      })
      .Events(events => events
          .Edit("onEdit")
      )
  )

Javascript:

function onEdit(e) {
    if (e.model.isNew() == false) {
        //$('[name="YourcolumnName"]').attr("readonly", true);
        //replace input with span
        //taken from 
        $('[name="YourcolumnName"]').each(function() {
          $("<span />", { text: this.value}).insertAfter(this);
          $(this).hide();
       });
    }
}