extjs のストアに関する問題を解決するために、見つかったすべての回答 (Stackoverflow には多数あります) を試しましたが、グリッドが正しく再生されていても、データはグリッドに表示されません。迷ったのでこのサイトの回答を読んで構築できた「お店」を書いています。データをグリッドにロードしない理由がわかりません。さらに詳しい情報が必要な場合は、お問い合わせください。
store: Ext.create('Ext.data.Store', {
autoLoad: true,
storeId: 'StoreName',
fields: ['id','name'],
data : JsonObject,
model: 'ModelName',
proxy: {
type: 'memory',
reader: {
type: 'json',
record: 'JsonRoot'
}
}
}))
グリッドは、ajax 呼び出しによって新しいウィンドウに読み込まれます。新しいウィンドウのコードは次のとおりです。
Ext.create('Ext.window.Window', {
title: 'GridTitle',
height: 200,
width: 400,
layout: 'fit',
items: {
xtype: 'grid',
border: false,
columns: [
{
text : 'id',
flex : 1,
sortable : true,
dataIndex: 'id'
},
{
text : 'name',
width : 300,
sortable : true,
dataIndex: 'name'
}],
列のある部分がext.jsによって読み取られないという印象があります。これは、jsonで渡すデータの名前とIDにインデックスを付けないためです。