2011-08-20 62 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