【问题标题】:KendoUI Grid: Non-editable column?KendoUI Grid:不可编辑的列?
【发布时间】:2014-10-17 18:41:21
【问题描述】:

http://jsfiddle.net/bhoff/ZCyPx/50/

$("#grid").kendoGrid({
    dataSource:{
        data:entries,
        schema:{
            parse:function (response) {
                $.each(response, function (idx, elem) {
                    if (elem.time && typeof elem.time === "string") {
                        elem.time = kendo.parseDate(elem.time, "HH:mm:ss");
                    }
                    if (elem.datetime && typeof elem.datetime === "string") {
                        elem.datetime = kendo.parseDate(elem.datetime, "HH:mm:ss");
                    }
                });
                return response;
            }
        }
    },
    columns:[
        { command: [ "edit" ] },
        { field:"type", title:"Cash Transation Type" },
        { field:"begintime", title:"Begin Time(CT)", format:"{0:hh:mm tt}", editor: timeEditor },
        { field:"endtime", title:"End Time(CT)", format:"{0:hh:mm tt}", editor: timeEditor },
    ],
    editable:"inline",
    navigatable:true
});

根据我的示例,如何阻止用户编辑我的“现金交易类型”列?

这和这个有关系吗 -> editable:"inline" ?

【问题讨论】:

标签: kendo-ui kendo-grid


【解决方案1】:

here

你需要在数据源中设置

    <script>
var dataSource = new kendo.data.DataSource({
  schema: {
    model: {
      id: "ProductID",
      fields: {
        ProductID: {
          //this field will not be editable (default value is true)
          editable: false,
          // a defaultValue will not be assigned (default value is false)
          nullable: true
        },
        ProductName: {
          //set validation rules
          validation: { required: true }
        },
        UnitPrice: {
          //data type of the field {Number|String|Boolean|Date} default is String
          type: "number",
          // used when new model is created
          defaultValue: 42,
          validation: { required: true, min: 1 }
        }
      }
    }
  }
});
</script>

【讨论】:

    【解决方案2】:

    您通常会在 DataSource 上的 schema.model.fields 上设置此设置。

    var data = new kendo.data.DataSource({
        schema: {
            model: {
                fields: {
                    type: { editable: "false" }
    

    【讨论】:

    • 试过了,还是不行?模型:{ id : "id" fields: { type: { editable: "false" } } },有什么建议吗?
    • 你需要这样写字段:{ type:'string', editable: "false" }
    【解决方案3】:

    在你不想启用编辑的字段中添加可编辑,

    columns:[
            { command: [ "edit" ] },
            { field:"type", title:"Cash Transation Type",  editable: false },
            { field:"begintime", title:"Begin Time(CT)", format:"{0:hh:mm tt}", editor: timeEditor },
            { field:"endtime", title:"End Time(CT)", format:"{0:hh:mm tt}", editor: timeEditor },
            ],
        editable:"inline",
        navigatable:true
    });
    

    【讨论】:

    • 当我在列中添加它时它仍然可以编辑吗?
    • 因为需要在数据源中设置
    猜你喜欢
    • 1970-01-01
    • 2013-03-11
    • 2018-10-24
    • 1970-01-01
    • 2013-04-28
    • 2023-03-10
    • 2015-10-15
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多