超級簡單的概念!...必須編程設置一個網格,可編輯=假
在某一點上,我可編輯網格,(和細節網格),必須設置爲只讀...所以我想做這樣的事情:
var grid = $("#grid").data("kendoGrid");
grid.options.editable = false;
當然,這並不工作,因爲它是太簡單......
感謝您的幫助!
超級簡單的概念!...必須編程設置一個網格,可編輯=假
在某一點上,我可編輯網格,(和細節網格),必須設置爲只讀...所以我想做這樣的事情:
var grid = $("#grid").data("kendoGrid");
grid.options.editable = false;
當然,這並不工作,因爲它是太簡單......
感謝您的幫助!
我會建議你有兩個網格:一個只讀和一個讀寫,但只有一個是可見的。兩者共享數據源定義,因此它們始終保持同步。當你想從一個變爲另一個時,你隱藏可見並顯示另一個。
示例:我創建了兩個網格,定義完全相同,只是不同之處在於一個隱藏,一個可見,一個可編輯,一個不可見。由於兩者共享同一個DataSource,所以它實際上是完美的,因爲改變其中一個頁面會改變另一個,編輯頁面,更新另一個頁面。
是這樣的:
1- CSS定義中使用的,用於切換的可見性:
.ob-hide {
display : none;
}
2-甲數據源定義:
var ds = new kendo.data.DataSource({
transport : {
read : {
url: ...
},
update : {
url: ...
},
create : {
url: ...
},
destroy : {
url: ...
}
},
pageSize: 10,
schema : {
model: {
id : ...,
fields: {
id : { type: '...' },
...
}
}
}
});
接着兩個格柵:
$("#grid-editable").kendoGrid({
editable: "inline",
dataSource : ds,
...
}
$("#grid-not-editable").kendoGrid({
editable: false,
dataSource: ds,
...
});
$("#grid-editable").addClass("ob-hide");
最後用於切換模式的功能:
function gridEditable() {
$("#grid-editable").removeClass("ob-hide");
$("#grid-not-editable").addClass("ob-hide");
});
function gridNotEditable() {
$("#grid-editable").addClass("ob-hide");
$("#grid-not-editable").removeClass("ob-hide");
});
看看它是運行在這裏:http://jsfiddle.net/OnaBai/bCEJR/2/
我在一個更好的工作作風,通過添加上所需要的元素disabled="disabled"
。使用角度JS與kendo,像魅力一樣工作,因爲通過將網格設置爲禁用不允許用戶編輯它。嘗試一下,可能沒有角度的工作!
這是一個很好的解決方案......我還得到了Kendo的解決方案,以銷燬可編輯網格,以便在非可編輯模式下重新創建......這是我沒有其他選擇的原因。再次感謝OnaBai。 – Tuthmosis
有沒有其他的方式來實現這個?我不想添加兩個網格。我想禁用現有的網格。 – Agni