2
我正在使用Telerik Kendo UI网格。我已经配置它使用网格内联编辑。我有一个有趣的要求。其中一列是复选框,它定义了某些控件是否可编辑。即当被打勾的列E,F,G是只读的而其他的是可编辑的。未选中的列B,C是可编辑的,而其他是只读的。使用有条件禁用的控件进行内联编辑
我已经成功实现了这一点,但我想改进它。我已经实现了它,以便禁用控件。不过,如果控件更改为显示模式等标签,我更喜欢。
function gridEdit(e) {
setRowStatus(e.container, e.model.IsCustomJob);
}
function setRowStatus(c, isSpecificSH) {
changeControlStatusNumeric(c, 'ColumnB', !IsCustomJob);
changeControlStatusNumeric(c, 'ColumnC', !IsCustomJob);
changeControlStatusNumeric(c, 'ColumnE', IsCustomJob);
changeControlStatusNumeric(c, 'ColumnF', IsCustomJob);
changeControlStatusDropDown(c, 'ColumnG', IsCustomJob);
}
function changeControlStatusNumeric(c, name, isEnabled) {
var ctrl = c.find("input[name='" + name + "']").data("kendoNumericTextBox");
ctrl.enable(isEnabled);
if (!isEnabled) {
ctrl.value('');
}
}
我的执行问题作为可以在下面看到的是,它不适合哪些项目是可编辑的,哪些项是不是用户很清楚。这就是为什么我想将禁用的控件更改为标签或完全隐藏它们的原因。 Grid API中是否有用于实现这个功能......或者我应该使用jQuery来实现这个功能?
记号标出时:
取消选中时:
谢谢你的详细解答。不得不做一个自定义编辑器有点矫枉过正,但我想这是实现它的唯一方法。 –