Extjs 4 сетки рендерера - PullRequest
       32

Extjs 4 сетки рендерера

1 голос
/ 15 сентября 2011

я работаю с дизайнером extjs 1.2.У меня есть кнопка на панели, которая открывает окно при нажатии.В окне есть сетка, для которой я применил рендерер, как показано ниже в файле js.Проблема в том, что рендерер работает хорошо, когда окно открывается в первый раз, но когда я закрываю окно и снова открываю его, эффект отключается.

Ext.define('MyApp.view.TestPanel', {
    extend: 'MyApp.view.ui.TestPanel',

    initComponent: function() {
        var me = this;
        me.callParent(arguments);
        Ext.data.StoreManager.lookup('Test').load();
        me.down('button[id=testbutton]').on('click',me.onTestBtnClick,me); 
    },

    onTestBtnClick:  function(){

        var win = new Ext.create('MyApp.view.TestWindow');
        win.show();
        win.down('#testgrid').columns[0].renderer=function(val){
             return '<span style="color:red;">' + val + '</span>';
            }

    }
});

Наблюдение: Когда я использую рендерер в ui.js, т.е.файл, созданный при экспорте проекта из конструктора, я не сталкивался с вышеуказанной проблемой.Как можно решить эту проблему?

1 Ответ

0 голосов
/ 24 ноября 2011

Можете ли вы указать реализацию окна и сетки в нем. Просто проверьте действие Windows закрыть

closeAction: String

Действие, которое нужно выполнить при нажатии инструмента закрытия заголовка: 'уничтожить': удалите окно из DOM и уничтожьте его и все компоненты-потомки. Окно не будет доступно для повторного отображения через показать метод. 'скрывать' : скрыть окно, установив видимость скрытого и применяя отрицательные смещения. Окно будет доступно для повторного отображения через метод шоу.

Примечание: это поведение изменилось! настройка влияет на метод закрытия который будет вызывать соответствующее действие closeAction. По умолчанию: "уничтожить"

Потому что, когда вы обращаетесь к сетке через идентификатор, и если закрыть действие - скрыть, то вполне возможно, что каждый раз, когда сетка создается с тем же идентификатором. И если идентификатор такой же, конечно, это не будет работать.

...