【问题标题】:EXTJS 4 nested json array data to grid panelEXTJS 4 嵌套 json 数组数据到网格面板
【发布时间】:2013-06-13 00:08:48
【问题描述】:

我是 ExtJS 的新手,但无论如何我都找不到用简单的 JSON 字符串数组填充我的网格。我的 JSON 如下所示:

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

我想用这个用户列表填充一个简单的单列网格,但似乎找不到任何方法! :(

我的代码如下所示:

  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'
      },
      ],
  });

但它只是在一个单元格中显示逗号分隔的用户列表。我知道为什么会这样,我将列的 dataIndex 设置为数组,而不是数组中的元素,但不知道如何修复它。

【问题讨论】:

    标签: arrays json model extjs4 gridpanel


    【解决方案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'
          },
          ],
      });
    

    【讨论】:

    • 不走运 :( 现在我的网格是空的,我想这是有道理的,因为名称没有标记为“名称”,它们根本没有标记。
    • @user1998935 这确实是问题所在。您能否将 JSON 响应更改为 "users": [ { name: "kevin" }, ...] 之类的内容?
    • 我无法真正更改传入的 JSON :(
    • @N3vik .. 我也在寻找同样的问题 .. 你找到解决方法了吗?
    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多