2014-06-26 76 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