【发布时间】:2010-09-19 15:32:32
【问题描述】:
在我的 editorGrid 中,我有一列带有 dateField 编辑器,当网格被渲染时,我将该字段设置为不可编辑:
myColModel.setEditable(colIdex,false)
在同一行的其他单元格中更改值后将可编辑
myColModel.setEditable(colIdex,true)
问题是:列中的所有单元格都是可编辑的
如何使所选行中的单元格仅可编辑
非常感谢
【问题讨论】:
在我的 editorGrid 中,我有一列带有 dateField 编辑器,当网格被渲染时,我将该字段设置为不可编辑:
myColModel.setEditable(colIdex,false)
在同一行的其他单元格中更改值后将可编辑
myColModel.setEditable(colIdex,true)
问题是:列中的所有单元格都是可编辑的
如何使所选行中的单元格仅可编辑
非常感谢
【问题讨论】:
在 EditorGrid 上使用“beforeedit”侦听器 - 您可以检查他们尝试编辑的字段。如果未设置其他字段,则返回 false 以不允许他们编辑该字段。
【讨论】:
基本上,您可以创建条件逻辑并根据行模型隐藏编辑按钮。
dataBound: function (){
var grid = this;
var trs = this.tbody.find('tr').each(function(){
var item = grid.dataItem($(this));
if( item.UnitPrice % 5 == 0) {
$(this).find('.k-grid-edit,.k-grid-delete').hide();
}
});
},
【讨论】:
您可以通过重写 isCellEditable 函数来实现其他方式。 检查以下链接。
http://www.sencha.com/learn/Ext_FAQ_Grid#Disable_editing_of_particular_rows.2C_columns.2C_etc
【讨论】: