我有这个json数据:
{
id: 1,
name: 'something',
description: 'somethingsomething',
customers: [{
id: 1,
username: 'cust1'
}, {
id: 2,
username: 'cust2'
}]
}

虽然我在gridpanel上显示前三个字段没有问题,但是我在检索customers
字段的数组对象时遇到了问题。我的模型是这样的:
fields: [
'id', {
name: 'name',
sortType: Ext.data.SortTypes.asUCString
},
'permanent', {
name: 'description',
Type: Ext.data.SortTypes.asUCString
}, {
name: 'customers',
Type: Ext.data.SortTypes.asUCString
}, {
name: 'username',
Type: Ext.data.SortTypes.asUCString,
mapping: 'customers[0].username'
}
]

当我尝试访问customers[0].username
时,它只检索指定索引上的那些。删除索引号会返回undefined
,因为我认为它正在查找要返回的索引。如何正确检索所有customers: []
并将其显示在我的网格中,其格式为:
{
xtype: 'gridpanel',
store: oStore,
viewConfig: {
loadMask: false,
enableTextSelection: true
},
hideHeaders: false,
bodyBorder: true,
columns: [{
text: 'Customer',
dataIndex: 'username',
flex: 1
}, {
header: '',
xtype: 'actioncolumn',
itemId: 'remove-player-btn',
width: 50,
sortable: false,
resizable: false,
menuDisabled: true,
items: [{
icon: 'resources/img/x.png',
tooltip: 'Remove Player',
scope: oMe
}],
editor: {
xtype: 'text',
name: 'deleteRow'
}
}]
}

答案 0 :(得分:1)
您可以使用模型中可用的转换功能。此转换功能用于某些计算目的&根据我们的需求制作地图响应数据。例如,我会将用户名映射如下:
fields: [
{
name:'username',
convert:function(value,model)
{
return model.data.customers.username;
}
}
]
对 id 字段使用相同的技巧。如果有任何问题,请回复。