同様の問題に遭遇したところ、次の解決策が見つかりました。正しい方法ではないかもしれませんが、行が存在するときにフィールドを無効にし、新しいときにフィールドを有効にするのに役立つようです。このロジックは、必要なロジックと交換できる必要があります。
Kendo MVC バインディングで。「disableOnEdit」は、セルが編集モードになったときに呼び出す Javascript 関数の名前です。
@(Html.Kendo().Grid<yourModel>()
.Name("grid")
...
.Events(events => events.Edit("disableOnEdit"))
...
JavaScript で:
function disableOnEdit(e) {
if (e.model.isNew()) {
// Leave it editable if the row is new.
} else {
// Disable the editor for Element in this row if the row already exists.
var select = e.container.find('input[name=Element]').data('kendoDropDownList');
select.enable(false);
}
}
このアプローチはKendo Grid Edit Docsから借用したものです。
さまざまな条件について言及されている他の回答を参照してください。
これを組み合わせてくれた Chris Finlayson に感謝します。