2013-06-13 76 views
1

我新的ExtJS的,但我无法找到反正来填充我的网格,一个简单的字符串JSON数组。我的JSON看起来是这样的:EXTJS 4嵌套的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列是数组,而不是数组中的元素,但不知道如何解决它

回答

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

没有运气:(现在我格是空的,我猜品牌由于名称没有标注'名称'他们根本没有标签。 – N3vik

+2

@ user1998935这确实是问题。您是否能够改变JSON响应像'“用户”:[{名:“凯文”},...]'? –

+0

我真的不能更改来电JSON :( – N3vik