Extjs 4.0 MVC - проблема с областью действия функции визуализации столбца - PullRequest
1 голос
/ 09 августа 2011

Я не понимаю, почему я не могу использовать функцию ' 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
        },  
        .
        .
        .

1 Ответ

6 голосов
/ 09 августа 2011

Это можно исправить, определив столбцы в конструкторе или методе initComponent.Метод, который вы хотите назначить в качестве средства визуализации, недоступен до этой точки в жизненном цикле компонента.

    initComponent(){
        this.columns: [{
        dataIndex: 'name', renderer : this.myRendInside
        }
        ...
        ]
        this.callParent(arguments);        
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...