2011-03-15 53 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