【问题标题】:ExtJS column renderer not getting calledExtJS 列渲染器没有被调用
【发布时间】:2013-09-19 22:39:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript extjs extjs4


    【解决方案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
                }]
            }
        });
    
    });
    

    【讨论】:

      猜你喜欢
      • 2015-02-02
      • 2017-09-28
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多