如何从xml数据文件中禁用特定的单元格编辑?
像这样:<price disabled="true">9.37</price>
请举个例子 提前致谢
答案 0 :(得分:3)
首先,要从XML响应中读取属性,您需要在模型中包含属性mapping
配置的字段,请参阅this post。在你的情况下像这样:
Ext.define('yourApp.model.Price', {
extend: 'Ext.data.Model',
fields: [
{name: 'price', type: 'float'},
{name: 'disabled', type: 'boolean', mapping: 'price/@disabled'}
]
});
自从我使用XML响应以来已经有一段时间了,所以你可能不得不玩这个。
然后,您只需在gridpanel的beforeedit
事件中加入一项检查,以防止在记录的disabled
字段为真时进行编辑。
如果您正在使用MVC模式,它将是这样的:
// controllers init function
init: function() {
this.control({
'yourgridpanel': {
// prevent disabled edits
beforeedit: function(plugin, edit) {
if (edit.record.get('disabled')) {
return false;
}
}
}
});
}
如果你没有使用MVC模式,那么处理程序将会是这样的:
yourGridPanel.on('beforeedit', function(plugin, edit) {
if (edit.record.get('disabled')) {
return false;
}
});