Grid 选项卡面板上网格上的extjs 4渲染工具提示

Grid 选项卡面板上网格上的extjs 4渲染工具提示,grid,extjs4,tabpanel,renderer,Grid,Extjs4,Tabpanel,Renderer,我正在使用extjs4&使用designer1.2.0 我在使用网格的渲染器功能显示工具提示时遇到问题。网格放置在选项卡面板中。当我第一次打开选项卡面板时,一切正常,但当我关闭选项卡面板并重新打开它时,initComponent()不会再次被调用&因此工具提示不会显示&超链接效果会消失。这个问题的解决方案是什么? 下面是我的代码: Ext.define('MyApp.view.ItemManager'{ 扩展:“MyApp.view.ui.ItemManager”, initComponent:

我正在使用extjs4&使用designer1.2.0 我在使用网格的渲染器功能显示工具提示时遇到问题。网格放置在选项卡面板中。当我第一次打开选项卡面板时,一切正常,但当我关闭选项卡面板并重新打开它时,initComponent()不会再次被调用&因此工具提示不会显示&超链接效果会消失。这个问题的解决方案是什么? 下面是我的代码:

Ext.define('MyApp.view.ItemManager'{
扩展:“MyApp.view.ui.ItemManager”,
initComponent:function(){
Ext.QuickTips.init();
var me=这个;
me.callParent(参数);
me.down(“#itemManager”).columns[3]。renderer=函数(值、元数据、记录、colIndex、存储、视图){
var imgpath=“”;
metaData.tdAttr='data qtip=“”+imgpath+”;
返回“”;
}
}
});
然而,当我在通过从设计器导出项目生成的ui文件中编写渲染器代码时,一切正常。问题是,如果我在ui文件中写入渲染器,每次导出项目时,它都会被覆盖:(

  • Ext.QuickTips.init()
  • 您需要将呈现的定义重新定位到它所属的实际列:
    {…,dataIndex:'myColumn',rendered:function(value,metaData等){return value;},title:'My column title',…}
  • 编辑

    下面是一个示例:

    Ext.define('MyApp.view.ItemManager', {
        extend: 'MyApp.view.ui.ItemManager',
    
        initComponent: function() {
            //Ext.QuickTips.init(); // move to global js file. only call once.
            var me = this;
            me.callParent(arguments);
    
            if (!me.down('#itemManager').columns[3].renderer) {
                me.down('#itemManager').columns[3].renderer=function(value,metaData,record,colIndex,store,view) {
                    var imgpath="<img style=\'margin: 2px 0;height:150px;width:150px;\' src=\' /items/"+record.data.id +" '/>";
    
                    metaData.tdAttr = 'data-qtip=" '+imgpath +'"' ;
                    return '<a href="/items/imgdownload?id='+record.data.id+'">'+ record.data.img_filename +'</a>';
                }
            }
        }
    });
    
    Ext.define('MyApp.view.ItemManager'{
    扩展:“MyApp.view.ui.ItemManager”,
    initComponent:function(){
    //Ext.QuickTips.init();//移动到全局js文件。只调用一次。
    var me=这个;
    me.callParent(参数);
    如果(!me.down('#itemManager')。列[3]。渲染器){
    me.down(“#itemManager”).columns[3]。renderer=函数(值、元数据、记录、colIndex、存储、视图){
    var imgpath=“”;
    metaData.tdAttr='data qtip=“”+imgpath+”;
    返回“”;
    }
    }
    }
    });
    
    如果u luk@ques,你会注意到我说过我使用的是ext desginer 1.2,它没有指定渲染器选项……因此如果我在js中包含在导出代码后创建的代码,正如你所说的,下次我导出xds代码时(渲染器)由我编写的被覆盖。因此,我不能在confgPlease review列中包含渲染器并应用我添加的示例。此外,请不要忘记将您的
    Ext.QuickTips.init();
    移动到全局位置,因为它只应被调用一次。