extjs 4网格渲染器

时间:2011-09-15 09:34:42

标签: javascript grid extjs4 renderer

我正在使用extjs designer 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 :(得分:0)

请注明窗口和网格的实现。 只需检查窗口关闭动作

  

closeAction:String

     

单击关闭标题工具时要执行的操作:       '破坏':       从DOM中删除窗口并销毁它和所有后代组件。该窗口无法通过显示重新显示   显示方法。       '隐藏':       通过设置隐藏的可见性和应用负偏移来隐藏窗口。该窗口可以通过重新显示   show方法。

     

注意:此行为已更改!设置确实会影响close方法   这将调用approriate closeAction。默认为:“销毁”

因为当您通过ID访问网格时,如果隐藏了关闭操作,那么很可能每次使用相同的ID创建网格。如果id肯定相同,那么这将无效。