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 に答える