1

ExtJS は初めてですが、グリッドに文字列の単純な JSON 配列を入力する方法が見つかりません。私のJSONは次のようになります。

{
 ...stuff...
 "users": ["kevin","ryan", "david", "mark", "ed"]
 ...more stuff...
}

このユーザーのリストを単純な 1 列のグリッドに入力したいのですが、それを行う方法が見つからないようです! :(

私のコードは次のようになります。

  Ext.define('usersModel', {
      extend: 'Ext.data.Model',
      fields: [{ name: 'users', type: 'auto'}]
  });

  var usersStore = Ext.create('Ext.data.Store', {
      model: 'usersModel',
      proxy: {
          type: 'ajax',
          url : '/users',
          reader: 'json'
      },
      autoLoad: true
  });

  // create the Grid
  Ext.create('Ext.grid.Panel', {
      store: usersStore,
      columns: [{
          dataIndex: 'users',
          width: 500,
          text: 'User'
      },
      ],
  });

ただし、1 つのセルにユーザーのカンマ区切りのリストが表示されるだけです。列のdataIndexを配列内の要素ではなく配列に設定していますが、それを修正する方法がわかりません。

4

1 に答える 1

1

これを試して:

  Ext.define('usersModel', {
      extend: 'Ext.data.Model',
      fields: [{ name: 'name', type: 'auto'}]
  });

  var usersStore = Ext.create('Ext.data.Store', {
      model: 'usersModel',
      proxy: {
          type: 'ajax',
          url : '/users',
          reader: {
              type: 'json',
              rootProperty: 'users'
          }
      },
      autoLoad: true
  });

  // create the Grid
  Ext.create('Ext.grid.Panel', {
      store: usersStore,
      columns: [{
          dataIndex: 'name',
          width: 500,
          text: 'User'
      },
      ],
  });
于 2013-06-13T00:14:44.927 に答える