2014-06-26 161 views

回答

2

在網格中,列渲染器僅返回HTML文本,因此無法直接返回組件。唯一的辦法是爲單元分配一個唯一的ID並推遲實際的組件創建。

{ 
      header: 'Row7', 
      align: 'center', 
      renderer: renderCmp, 
      dataIndex: 'cmpname', 
      width: 100 
     } 


// Renderer function 
    function renderCmp(value, id, r) 
    { 

      var id = Ext.id(); 
      if (r.data.cmpname) 
      { 
       createGridButton.defer(10, this, ['One', id, r]); 
       return('<div id="' + id + '"></div>'); 
      }else 
      { 
       createGridButton.defer(10, this, ['Two', id, r]); 
       return('<div id="' + id + '"></div>'); 
      } 

    } 
    function createGridButton(value, id, record) { 
     new Ext.Button({ 
      text: value, 
      iconCls: 'my-icon', 
      handler : function(btn, e) { 
       alert('Componet in Row'); 
      } 
     }).render(document.body, id); 
    } 

希望它可以幫助你..

+1

它是壞的張貼慾望鏈接。如果鏈接斷了,你的答案是毫無價值的。如果你修復它,我會刪除我的倒票。 – sra

+0

謝謝你,我會盡量不要在我的答案中發佈任何鏈接.. cheers :) – Sreek521

+0

這是一件好事:) – sra