0

グループ化された列グリッドの顧客レンダラーが呼び出されない理由がわかりません。

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
        },
        ...
    ]
});

グリッドの列/ヘッダーは正しく表示されますが、グリッド データはレンダリングされません。その関数が呼び出されないのはなぜですか?

4

1 に答える 1

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
            }]
        }
    });

});
于 2013-09-19T23:36:24.493 に答える