2012-06-08 3 views
10

열에 렌더러를 실행해야하는 그리드가 있지만 아무것도 표시하지 않고 recoignise 레코드도 표시하지 않습니다. 렌더링 기능을 사용하려고하는 것보다 다른 매개 변수를 가지고 있기 때문에Grid의 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 

    }  
}); 

감사

답변

24

이 기록은 정확하게가 로깅되지 않습니다. http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.column.Column-cfg-renderer에서 :

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); 
    } 
} 
+0

이렇게 좋습니다!. 문제는 리턴과 params의 순서입니다. 고마워. – richardhell