ストアがマップされた ExtJS グリッドがあります。
ストアの JSON 応答には 20 個のフィールドが含まれていますが、ストア内でマップしたのは 10 個のフィールドのみです。他の 10 個のフィールドをストアにマップせずに取得することは可能ですか、それともすべてのフィールドをストアにマップする必要がありますか? グリッドの行選択イベントでこれを行います。コードに関しては、グリッドを作成し、ストアをマップし、イベントを発生させ、マップされた 10 フィールドで選択した行のレコードを取得することさえできます。
助言がありますか ??
Shekhar の要求に応じて:
店の定義
Ext.define('gdoc.store.PrintPaperStore', {
extend: 'Ext.data.Store',
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
storeId: 'PrintPaperStore',
proxy: {
type: 'ajax',
url: 'urlToRetrieveTheJSON',
reader: {
type: 'json',
root: 'root'
}
},
fields: [{
mapping: 'value',
name: 'value'
},
{
mapping: 'display',
name: 'display'
}
]
}, cfg)]);
}
});
JSON レスポンス:
{
"root": [{
"value": "COATED115",
"display": "Coated recycled paper (115gms)",
"description": "Good quality",
"extra": "EXTRA INFO"
}, {
"value": "COATED135",
"display": "Coated recycled paper (135gms)",
"description": "Good quality"
}, {
"value": "OFFSET",
"display": "Offset recycled paper (80gms)",
"description": "Good quality",
"extra": "EXTRA INFO"
}, {
"value": "OTHER",
"display": "Other paper (client to order)",
"description": "Good quality",
"extra": "EXTRA INFO"
}]
}
ご覧のとおり、value
との応答display
からのみマッピングしました。JSON
store
の値を取得することは可能ですか?にマップする必要はdescription
ありません。extra
store