2011-03-15 41 views
0

我必須編輯我的模板中用於Ext.Panel的數據。我怎樣才能做到這一點 ?我試圖添加監聽器,但單擊事件沒有綁定單擊該面板。在Ext.Panel中編輯Ext.XTemplate中的數據

Ext.XTemplate:

MyApp.ext.MyExtension.prototype.mytpl = new Ext.XTemplate(
     '<tpl for=".">', 
     '<table class="my">', 
     '<tr><th>Item:</th><td>{itemIWantToEdit}</td></tr>', 
     '</table>', 
     '</tpl>' 
     ).compile(); 

Ext.Panel:

var myPanel = new Ext.Panel({ 
       xtype: 'panel', 
       region: 'east', 
       title: 'MyPanel', 
       split: true, 
       width: 220, 
       collapsible: true, 
       layout: 'fit' 
       // etc... 
+0

您是否在創建面板實例後嘗試編輯/更改模板代碼本身? – ChrisR 2011-03-15 11:27:56

+0

面板創建完成後,用戶單擊該項目。 – newbie 2011-03-15 11:29:26

回答

2

綜觀Ext.Panel TPL的實施,你應該能夠通過只覆蓋到改變現有的面板的第三方物流帶有新的XTemplate實例的tpl屬性。

// Create panel 
var myPanel = new Ext.Panel(...); 

// Later, somewhere else, in a listener for example 
myPanel.tpl = new Ext.XTemplate('<tpl for="."> ... </tpl>'); 
+0

好的,但我如何在HTML代碼中添加監聽器? – newbie 2011-03-15 11:36:47

+0

什麼是'項目'?你是指你的模板的{itemIWantToEdit}部分?在那種情況下,我傾向於認爲你應該使用DataView而不是使用模板的Panel。 – ChrisR 2011-03-15 12:20:07