json - 无法使用 JSON 结果将数据呈现到网格列中

标签 json extjs extjs4 extjs4.1 extjs6

我有一个类似这样的网格商店。

var gridStore = Ext.create('Ext.data.Store',{
    proxy : {
        type : 'ajax',
        actionMethods : {
            read : 'POST'
        },
        url : 'getECIAgentWrapperJobs.do',
        reader : {
            type : 'json',
            rootProperty : 'rows',
            totalProperty : 'results'
        }
    },
    pageSize : 3,
    autoLoad : {start: 0, limit: 3}
});

显然,它向 url 发出了 AJAX 请求。
我为这家商店获得的 JSON 响应如下所示:
{  
   "results":2,
   "rows":[  
      {  
         "pkTable1":1,
         "name":"Rick",
         "eciAgentJob":{  
            "pkTable2":11,
            "name":"Play Local Ar",
         },
      }
   ],
   "msg":null,
   "success":true,
}

现在这是我的网格的样子:
var mappedEciAgentJobsGrids = Ext.create('Ext.grid.Panel',{
        store : gridStore,
        columns : [
            {
                dataIndex : 'pkTable1',
                header : 'Pk of table 1'
            },
            {
                dataIndex : 'name',
                header : 'Name'
            },
            {
                dataIndex : 'eciAgentJob.pkTable2',
                header : 'Pk of Table 2'
            }
        ]
    });  

现在在我的 UI 中,前 2 列(分别带有 dataIndex: pkTable2 和 name)加载正常。但是对于第 3 个,它没有。
我知道这是因为我将 dataIndex 用作“eciAgentJob.pkTable2”。但是,当我们得到像我得到的那样的响应时,在列中加载数据的方式是什么(其中 eciAgentJob 是原始 JSON 中的一个对象)。
请帮忙。

编辑:由于其他一些用例原因,我不想使用渲染器。

最佳答案

在您的模型中定义一个新字段并使用所需字段进行映射。在转换函数中从记录中选择任何值。

 Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'name', type: 'string ' },
        {
         name: 'columnName',

         convert: function (value, record) {
             return "return what ever you want"
         }
     }

    ]
});

关于json - 无法使用 JSON 结果将数据呈现到网格列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717427/

相关文章:

linux - 如何使用 *nix 中的控制台工具将\uXXXX unicode 转换为 UTF-8

javascript - Sencha touch 2 中的动画 Ext.Panel

EXTJS 6.7 - 销毁时未清除类属性

javascript - 如何改变EXT的sortchange中的排序方向

javascript - EXT JS : In Combobox, 如何为不在商店中的记录设置显示字段?

java - 尝试从 JSONArray 中检索 JSONObject 时返回 null?

javascript - 为什么通过 Angular $http 解析此示例 Twitter json 文件失败?我可以采取什么措施来修复它?

java - hibernate ORM : Saving Parent Entity Saves the Children too?

javascript - 如何在新的 extJS 对话框/面板中显示 html2canvas 'canvas'?

extjs4 - 当按下警报确定按钮时,将焦点设置在 extjs 中的表单字段上