2017-01-31 24 views
1

我有這樣的JSON數據:ExtJS 4.2 - 如何將數組映射到模型字段並在網格列上動態顯示?

{ 
 
    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' 
 
    } 
 
    }] 
 
}

回答

1

可以使用convert函數提供model.This轉換功能用於一些計算目的&地圖響應數據爲我們needs.For的例子,我將映射如下用戶名

fields: [ 
{ 
    name:'username', 
    convert:function(value,model) 
    { 
    return model.data.customers.username; 
    } 
} 
] 

使用相同的技術爲ID field.Reply如果有任何問題。

+0

這工作!然而,我沒有通過'model.data'映射它,而是'model.raw',因爲前者未定義。 – ralphcarlo

相關問題