2011-08-31 71 views
2

對電網4條渲染提示我使用設計1.2.0 我面對的是我使用的顯示工具提示與電網的渲染功能問題的ExtJS 4 &工作。網格放置在標籤面板中。當我打開標籤面板,一切工作正常的第一次,但是當我關閉標籤面板&重新打開它,在initComponent()不會被調用一次&所以提示不露面& 超級鏈接效果熄滅。什麼可以解決這個問題?下面 是我的代碼:ExtJS的上一個tabpanel

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

    initComponent: function() { 
     Ext.QuickTips.init(); 
     var me = this; 
     me.callParent(arguments); 
       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>'; 
       } 
     } 
}); 

然而,當我從設計師的出口項目產生UI文件編寫代碼渲染然後一切工作正常。問題是,如果我在UI文件寫的渲染器,它會得到覆蓋每次我出口項目:(

+1

我也有同樣的問題。 – jayesh

回答

1
  1. Ext.QuickTips.init()應該只能被稱爲1次,需要搬遷到一個全球性的位置。
  2. 您需要將呈現定義搬​​遷到實際列屬於:{ ..., dataIndex : 'myColumn', rendered : function (value, metaData, etc) { 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>'; 
      } 
     } 
    } 
}); 
+0

如果你完全üluk @ques會注意到,我已經說過使用ext desginer 1.2沒有renderer選項來指定...所以如果我包括在導出它之後創建的js中的代碼,那麼下一次當我導出xds我寫的代碼(渲染器)覆蓋..所以我不能在列配置中包含渲染器 – Shruti

+0

請檢查並應用我添加的示例。另外,請不要忘記將'Ext.QuickTips.init();'移到全局位置,因爲它只應該被調用一次。 –