extJs - 用字符串数组填充网格面板

Posted

技术标签:

【中文标题】extJs - 用字符串数组填充网格面板【英文标题】:extJs - populate grid panel with array of strings 【发布时间】:2014-03-23 20:06:28 【问题描述】:

我从服务器收到一个字符串数组。 如果数据不是键值格式,如何填充我的网格面板?

回复如下:

"result":true,"data":["dep1","dep2","dep3"],"totalCount":3

这是我的网格面板

xtype: 'gridpanel',
flex: 1,
itemId: 'departmentsGridPanel',
title: '',
store: new Ext.data.ArrayStore(
    autoLoad: true,
    fields: [
        'department'
    ],
    proxy: 
        type: 'ajax',
        url: 'FilteringDataServlet?filterColumn=avdeling',
        reader: 
            type: 'json',
            root: 'data'
        
    
),
columns: [
    text: 'Avdeling',
    flex: 1,
    dataIndex: 'department'
],

【问题讨论】:

【参考方案1】:

那么你应该使用Ext.data.reader.Arraymapping参数。

Employee = Ext.define('Employee', 
extend: 'Ext.data.Model',
fields: [
    name: 'name', mapping: 0,         // "mapping" only needed if an "id" field is present which
    name: 'occupation', mapping: 1    // precludes using the ordinal position as the index.        
]
);

【讨论】:

你定义了一个模型吗? 是的,我在表格中获取数据,但只有每个字符串的第一个字符 Oleg,请粘贴您的完整代码。还有一个样本数组数据。【参考方案2】:

我已通过将load 侦听器添加到我的商店并在那里修改数据来解决此问题

listeners:  
  load: function(store, records, success, opts)  
           store.each(function(record)  
              record.set('department', record.raw); 
           ); 
          

【讨论】:

以上是关于extJs - 用字符串数组填充网格面板的主要内容,如果未能解决你的问题,请参考以下文章

在网格单元格中的 extjs 中,我必须显示字符串数组中的值列表,该字符串数组是记录的一部分

网格面板上的 ExtJs moveAfter 列非常慢

如何使用 json 和 sql 将数据导入 EXTJS 网格面板

单击一行后,Extjs 4 网格自定义添加一个带有文本字段的面板

如何在 ExtJS 4 网格面板中保留垂直滚动条?

json 数组未显示在 extjs 网格中