-1

私の質問はこれにかなり似ていますが、JSONを新しいウィンドウにロードする必要があるため、これ以上の問題があります. このようなもの。ご覧のとおり、ストアは新しいウィンドウの ITEMS 内にあります。

それだけです。2 つのソリューションを合計することはできません。1 つは JSON を読み取り、もう 1 つは新しいウィンドウでグリッドを作成し、新しいウィンドウに渡した json を読み取ることができるグリッドを作成します。2 番目の例 (または以下の例) のストア ラインを設計して、すべての JSON データを含み、既に記録されて使用できる変数を読み取らせるにはどうすればよいでしょうか?

var obj = response;
try {
  obj = Ext.decode(response.responseText);
} catch (error) {}
if (obj) {
  Ext.create('Ext.window.Window', {
    title: 'Hello',
    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'
      }],
      store: Ext.create('Ext.data.ArrayStore', {}) //this is the line I have to change
    }
  }).show();
} else {
  alert("Invalid response")
}
4

1 に答える 1

0

機能しているが、まだjsonデータを完全にロードしていないため、データにルートがありません。これが私が今のところ見つけた答えです。

Ext.create('Ext.window.Window', {
          title: 'Admants',
          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'
                    }],
            store: Ext.create('Ext.data.Store', {
            storeId: 'My Grid',
            fields: ['id', 'name'],
            data: obj,
            proxy: {
                type: 'memory',
                reader: {
                    type: 'json',
        record: ""
                }
            }
        })
        }}).show();

これは部分的に解決されています。

于 2013-09-16T15:52:31.963 に答える