【问题标题】:extjs 4 grid rendererextjs 4 网格渲染器
【发布时间】:2011-11-17 17:32:10
【问题描述】:

我正在使用 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 中使用渲染器时,即从设计器导出项目生成的文件时,我不会遇到上述问题。有什么办法可以解决这个问题?

【问题讨论】:

  • 面板/网格/窗口是如何定义的?我尝试复制您的场景,但它看起来像预期的那样工作:jsfiddle.net/ugYAS

标签: javascript grid extjs4 renderer


【解决方案1】:

您能否在其中指定窗口和网格的实现。 只需检查窗口关闭操作

closeAction : 字符串

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

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

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

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2012-06-12
    • 1970-01-01
    • 2011-11-20
    • 2013-11-25
    • 2011-01-28
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多