簡體   English   中英

不可編輯的劍道網格 ID

[英]Non editable kendo grid ID

我是使用劍道網格 UI 的新手,我正在嘗試使用簡單的代碼制作不可編輯的列(更新時):

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

默認情況下,此默認架構使 id 列不可編輯,我什至無法創建帶有 id 的新行。 我想讓它不可編輯(更新時),但我希望可以創建一行並從用戶分配一個 id(創建時)。

有任何想法嗎 ?

編輯 :

PS:proprety不僅與id相關,它可以在每一列上(不能更新但可以創建)

editable需要一個函數而不是一個值。

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

在這里結帳: https : //dojo.telerik.com/oROJayAd

我總是懷疑那個模型editable選項。 它從來沒有真正對我有用。 它應該在設置中具有非常深的東西才能使其工作,而我從未意識到它是什么。 所以這是一種完成你需要的方法,我知道它確實有效:取消edit事件 一探究竟:

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);
    }
}

演示

現在,如果您想根據您在模型中設置的內容在該事件中添加條件,您也可以在事件中訪問它:

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);
        }
    }
}

演示

您可以自己在模型中添加一個選項來設置列是可以更新還是只能創建,並在事件內處理該信息,隨時取消編輯。

我就是這樣做的,盡管還有其他方法。

columns選項中,如果您從列中刪除field選項,則它不知道從何處綁定它。

然后使用模板選項顯示(綁定)id。 從而使其成為只讀

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM