XMLデータファイルから特定のセル編集を無効にするにはどうすればよいですか?
このような:
<price disabled="true">9.37</price>
例を教えてください よろしくお願いします
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
フィールドがtrueの場合に編集されないように、グリッドパネルのイベントにチェックを含める必要があります。
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;
}
});