2011-11-24 199 views
3

我可以把網格放入另一個網格的插件中。用extjs 4嵌套網格

這是我的網格,我想放置在配置'插件'ext網格。

var grid = new Ext.grid.GridPanel({ 
        store: store, 
        columns: [ 
     { header: 'Customer Name', dataIndex: 'CustomerName', width: 212 }, 
     { header: 'Charge Date', dataIndex: 'ChargeDate', width: 212 }, 
     { header: 'Package Plan', dataIndex: 'PackagePlan', width: 212 }, 
     { header: 'Current Invoice Sum', dataIndex: 'CurrentInvoiceSum', width: 212 } 
    ], 
        plugins: [{ 
         ptype: 'rowexpander', 
         rowBodyTpl: ['<div style="background-color:#CBDDF3; width:643px;margin-left:147px;margin-bottom: 20px;border: 1px solid;">', 
      '<p><b>Customer Details:</b><br/>{CustomerName}<br/> {CustomerAddress}, {CustomerPhone}, {CustomerEmail} </p>', 
           '<p><b>Package Type:</b> {PackagePlan}<br/>', 
           '<b>Invoice Details:</b></p>', 
        '<div class="nestedO" id="{InvoiceId}"></div> </div>', 
     ] 
        }], 
        width: 900, 
        height: 450, 
        renderTo: Ext.get('Ongoing') 
       }); 

這可能嗎?

回答

8

嵌套網格是可能的。下面是煎茶論壇上的解決方案:

http://www.sencha.com/forum/showthread.php?151442-Nested-EXTJS-4-Grids&p=668193&viewfull=1#post668193

你幾乎得到了它。在插件部分,我們將創建一個空的div來,我們將使我們的網格嵌套:

plugins: [{ 
     ptype: "rowexpander", 
     rowBodyTpl: ['<div id="SessionInstructionGridRow-{ClientSessionId}" ></div>']  
}], 

當用戶展開網格行,我們將呈現網格嵌套了進去。

expandbody : function(rowNode,record, expandbody) { 
    var targetId = 'SessionInstructionGridRow-' + record.get('ClientSessionId'); 
    if (Ext.getCmp(targetId + "_grid") == null) { 
     var sessionInstructionGrid = Ext.create('TS.view.client.SessionInstruction', { 
      renderTo: targetId, 
      id: targetId + "_grid" 
     }); 
     rowNode.grid = sessionInstructionGrid; 
     sessionInstructionGrid.getEl().swallowEvent(['mouseover', 'mousedown', 'click', 'dblclick', 'onRowFocus']); 
     sessionInstructionGrid.fireEvent("bind", sessionInstructionGrid, { ClientSessionId: record.get('ClientSessionId') }); 
    } 
} 
+0

我告訴你,我的問題: 我想創建創建父網格時,而不是當「expandbody'.I要加載數據的家長和部分數據使用一次,部分嵌套網格他們在嵌套 也許你有任何想法。謝謝 – Hadas

+0

在上面的代碼中,沒有額外的數據加載發生。我將父級的記錄信息綁定到嵌套網格。 expandbody發生的唯一事情就是創建嵌套網格和渲染的實例。 –

+0

謝謝我試試 – Hadas