【问题标题】:ExtJS 4 “renderer” column on grid网格上的 ExtJS 4 “渲染器”列
【发布时间】:2012-06-12 21:31:28
【问题描述】:

我有一个应该在列上执行渲染器的网格,但它不显示任何内容,也不识别记录。

查看

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

    }    
});

谢谢

【问题讨论】:

    标签: extjs extjs4.1


    【解决方案1】:

    记录没有正确记录在那里,因为渲染器函数的参数与您尝试使用的参数不同。来自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);
      }
    }
    

    【讨论】:

    • 太好了!问题是返回和参数的顺序。非常感谢。
    猜你喜欢
    • 2011-11-17
    • 2011-11-08
    • 1970-01-01
    • 2014-08-22
    • 2011-11-20
    • 2015-02-02
    • 2013-11-25
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多