Kendo Grid jQuery - 可编辑单元格

时间:2014-09-30 18:51:13

标签: jquery kendo-grid

我在jquery中有一个kendo网格构建,我想允许用户编辑它的特定单元格。问题是我知道有一种方法可以编辑整行,如下所示:

$("#gridItens").kendoGrid({
      editable: true,
      columns: [
         ...
      ]
 });

它工作正常,但正如我之前所说,它允许用户编辑整行,而不是特定的单元格。我尝试过类似上面的代码,但它不起作用。

$("#gridItens").kendoGrid({
      columns: [
         { field: "Number", title: "Number", width: "10%", editable: true }
      ]
 });

有没有办法让单元格可编辑?

谢谢;)

更新

我找到了解决方案。解决方案和我正在做的事情之间的区别在于每个列的配置必须在模式部分中,而不是在列部分中。

$("#gridItens").kendoGrid({
       dataSource: {
            type: "json",
            transport: {
                read:
                    {
                        url: "/RC/BuscarItensContrato",
                        data: { contratoId: 0 },
                        contentType: "application/json; charset=utf-8",
                        dataType: "json"
                    }
            },
            schema: {
                model: {
                    fields: {
                        Id: { type: "number" },
                        Descricao: { type: "string", editable: false },
                        Numero: { type: "number", editable: true }
                    }
                }
            }
        },
        columns: [
            {
                field: "Selecionado",
                title: "",
                sortable: false,
                width: 30,
                headerTemplate: "<input type='checkbox' id='chkSelectAll' />",
                template: "<input type='checkbox' name='gridcheckbox' id='#=Id#' />"
            },
            { field: "Descricao", title: "Descrição", width: "30%" },
            { field: "Numero", title: "Número", width: "10%" }
        ]
 });

1 个答案:

答案 0 :(得分:0)

注意这是剃刀语法。

@(Html.Kendo().Grid<ViewModel>()
    .Name("grid")
    .Editable(editable => editable.Mode(GridEditMode.InCell))  
    .Columns(columns =>
    {....
}

不允许字段可编辑

 .DataSource(dataSource => dataSource
        .Ajax()
        .Read(etc....) 
        .Model(model => 
           {

               model.Field(x => x.Property).Editable(false);
           }