0

所以我有一个问题,因为我想在网格上显示父数据,如下所示:

父模型

Ext.define('Ab.model.Marca', {
    extend: 'Ext.data.Model',
    fields: ['id','nombre'],
    hasMany: {model: 'Ab.model.Maquina', name: 'maquina'},
    proxy{...}
 });

儿童模型

Ext.define('Ab.model.Maquina', {
    extend: 'Ext.data.Model',
    fields: ['id','nombre', 'codigo', 'estado'],
    associations: [
        {type:'belongsTo', model:'Ab.model.Marca', name: 'marca'},
    ]
    proxy:{...}
 });

儿童网格

好的,MaquinaController 从 Store 执行加载,这并不重要,因为加载信息非常好。问题是我无法显示父数据。

Ext.define('Ab.view.maquina.MaquinaList', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.maquinalist',
    store: 'Maquinas',
    columns: [
        { text: _('Nombre'), flex: 1, dataIndex: 'nombre' },
        { text: _('Código Externo'), flex: 1, dataIndex: 'codigo' },
        { text: _('Estado'), flex: 1, dataIndex: 'estado' },
        { text: _('Marca'), flex: 1, dataIndex: 'marca' }    <<< HOW CAN I SHOW MARCA?
    ]
});

提前致谢。

4

1 回答 1

2

覆盖 column.renderer ,并返回 record.getParent().get('someData');

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.column.Column-cfg-renderer

renderer: function(value, metadata, record, rowIndex, colIndex, store, view){
  return record.getMarca().get('nombre');
}

另外,请确保您遵守以下规则:

http://extjs-tutorials.blogspot.ca/2012/05/extjs-belongsto-association-rules.html

于 2012-06-08T17:24:41.390 回答