2011-08-20 57 views
1

我使用extjs 4和rails 3.我有一个包含组合框和数据视图的表单。在选择任何组合框的项目时,图像应显示在数据库的数据视图中。我试图使用tpl静态图像,它工作正常。但如何动态地检索?Extjs 4与dataview使用tpl的combobox

数据视图和模板::

{ 
       xtype: 'dataview', 
       store: 'MyStore', 
       id:'viewer', 
       autoHeight:true, 
       tpl: imageTpl, 
       itemSelector: 'div.thumb-wrap', 
       fieldLabel: 'Choose State', 
       emptyText: 'No images available' 
      }, 

var imageTpl = new Ext.XTemplate(
    '<tpl for=".">', 
     '<div style="thumb-wrap">', 
      '<img src="/images/rails.png" align="right" />', 
     '</div>', 
    '</tpl>' 
); 

任何建议的准则?

谢谢!

+0

你是什么型号?你可以发布该代码吗? – Daan

回答

0

(第一:“的MyStore”可能不是一个字符串,而是一个真正的ExtJS的数据存储的引用你可能不需要引号)。

数据存储包含一些模型的项目清单。您可以通过将字段名称置于赞誉{}之间来阅读模板中该模型的字段。

假设模型的“网址”字段中,模板变成这样:

var imageTpl = new Ext.XTemplate(
'<tpl for=".">', 
    '<div style="thumb-wrap">', 
     '<img src="/images/{url}" align="right" />', 
    '</div>', 
'</tpl>' 
); 

试试这个教程的详细信息:http://www.sencha.com/learn/legacy/Tutorial:Getting_Started_with_Templates

+0

“/ images/{url}”将从公共文件夹右加载图像..而不是从数据库?? – Rashmi

+0

是的,除非您将控制器映射到/ images url。看到这个问题以了解如何通过Rails发送图像:http://stackoverflow.com/questions/5228238/rails-how-to-send-an-image-from-a-controller – Daan