ExtJS列渲染器未被调用

时间:2013-09-19 22:39:15

标签: javascript extjs extjs4

我无法弄清楚为什么我的分组列网格的客户渲染器没有被调用。

Ext.define('PT.view.deal.YearCol', {
    extend: 'Ext.grid.column.Column',
    alias: 'widget.yearcolumn',
    columns: [
        {   
            text: 1,
            renderer: function(v, m, r) { 
                console.log('renderer called');  // THIS IS NEVER CALLED!!!!!!!!
                return custom(r);
            }
        },
            ...
    ]
});

Ext.define('PT.view.deal.QuarterlyGrid', {
    extend: 'Ext.grid.Panel',

    columns: [
        { 
            text: 'Item Number', 
            dataIndex: 'Item_Number'
        },
        {
            xtype: 'yearcolumn',
            text: 2013
        },
        ...
    ]
});

网格列/标题正确显示,但不显示网格数据。为什么没有调用该函数?

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本?这在4.2.0中适用于我:

Ext.define('PT.view.deal.YearCol', {
    extend: 'Ext.grid.column.Column',
    alias: 'widget.yearcolumn',
    columns: [{
        text: 1,
        renderer: function(v, m, r) {
            return r.get('foo');
        }
    }]
});

Ext.define('Grid', {
    extend: 'Ext.grid.Panel',

    columns: [{
        text: 'Item Number',
        dataIndex: 'Item_Number'
    }, {
        xtype: 'yearcolumn',
        text: 2013
    }]
}); 

Ext.onReady(function() {

    new Grid({
        width: 200,
        height: 200,
        renderTo: document.body,
        store: {
            fields: ['Item_Number', 'foo'],
            data: [{
                Item_Number: 1,
                foo: 2
            }]
        }
    });

});