如何禁用 xml 数据文件中的特定单元格编辑?
像这样:
<price disabled="true">9.37</price>
请给我例子提前谢谢
首先,要从 XML 响应中读取属性,您需要在模型中包含一个mapping
对属性进行配置的字段,请参阅这篇文章。在你的情况下是这样的:
Ext.define('yourApp.model.Price', {
extend: 'Ext.data.Model',
fields: [
{name: 'price', type: 'float'},
{name: 'disabled', type: 'boolean', mapping: 'price/@disabled'}
]
});
自从我使用 XML 响应以来已经有一段时间了,所以您可能不得不尝试一下。
然后,您应该简单地在您的网格面板的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;
}
});