【问题标题】:When editing a grid, how do I disable specific fields by row? Kendo UI ASP.Net MVC wrapper编辑网格时,如何按行禁用特定字段? Kendo UI ASP.Net MVC 包装器
【发布时间】:2013-08-09 10:33:10
【问题描述】:
【问题讨论】:
标签:
kendo-ui
kendo-grid
kendo-asp.net-mvc
【解决方案1】:
我们刚刚遇到了类似的问题,并找到了以下解决方案。这可能不是正确的方法,但它似乎适用于在行存在时禁用字段并在新行时启用。这个逻辑应该可以换成你需要的任何逻辑。
在您的 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 对此进行配对。