ExtJS 4" renderer " столбец на сетке


У меня есть сетка, которая должна выполнить рендерер для столбца, но которая ничего не показывает и не перестраивает запись.

Вид

Ext.define('Ab.view.maquina.MaquinaList', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.maquinalist',
    store: 'Maquinas',
    tbar: [
        { text: _('Agregar'), action:'add'},
        { text: _('Editar'), action: 'upd'},
        { text: _('Eliminar'), action: 'del'}
    ],
    columns: [
        { text: _('Nombre'), flex: 1, dataIndex: 'nombre' },
         { text: _('Estado'), flex: 1, dataIndex: 'estado'},
        { text: _('Marca'), flex: 1, dataIndex: 'codigo', renderer: function(value, record){this.renderMarca(value, record)}} 
    ],
    renderMarca: function(value,record){
             console.log(value);  < show value
             console.log(record.get('nombre')); < error 
             return value; < don't show value on the column

    }    
});

Спасибо

1 10

1 ответ:

Запись не регистрируется правильно, потому что функция визуализации имеет другие параметры, чем те, которые вы пытаетесь использовать. От http://docs.sencha.com/ext-js/4-1/#!/API-интерфейс/ВН.сетки.колонки.Колонка-ГПФ-рендер:

renderer: function (value, metaData, record, row, col, store, gridView) {

Вы также не возвращаете значение из вашего визуализатора. Это устраняет эти две проблемы:

{ 
  text: _('Marca'), 
  flex: 1, 
  dataIndex: 'codigo', 
  renderer: function(value, metaData, record, row, col, store, gridView){
    return this.renderMarca(value, record);
  }
}