1

我不明白为什么我不能使用“ myRendInside ”函数来渲染网格列。我必须使用myRendGlobal或者我也可以使用 ' renderer: function(val) {blah blah'。'this.myRendInside' 没有得到解决。

function myRendGlobal (val, metaData, record, rowIndex, colIndex, store) {
        return val + 'abc'
        };
 Ext.define('AM.view.Event.Grid', {
        extend: 'Ext.grid.Panel',
         myRendInside: function (val, metaData, record, rowIndex, colIndex, store) {
            return val + 'xyz'
        },
        columns: [{
            dataIndex: 'name', renderer : this.myRendInside
        },
        {
            dataIndex: 'phone', renderer : myRendGlobal
        },  
        .
        .
        .
4

1 回答 1

6

您可以通过在构造函数或 initComponent 方法中定义列来解决此问题。在组件生命周期的这一点之前,您要分配为渲染器的方法不可用。

    initComponent(){
        this.columns: [{
        dataIndex: 'name', renderer : this.myRendInside
        }
        ...
        ]
        this.callParent(arguments);        
    }
于 2011-08-09T17:53:04.313 回答