2012-04-15 13 views
1

我試圖讓組合框運行,但是當我將它添加到我的窗體時,窗體不顯示。combobox不能在extjs 4 mvc環境中運行?

這裏是我的表單代碼:

Ext.define("Screener.view.Pharmacyform", { 

      xtype: 'pharmacyform', 
    extend: 'Ext.form.Panel', 
    requires: ['Ext.tab.Panel','Ext.form.FieldSet'], 

    config:{ 
     styleHtmlContent: true, 
      xtype:'orderform', 
      autoscroll: true, 


      items:[{ 
        xtype: 'fieldset', 
        title: 'Pharmacy Order', 

     items: [ 
      { 
       xtype: 'textfield', 
       name : 'name', 
       label: 'Name' 
      },{ 
       {xtype: 'combo', 
    fieldLabel: 'Combobox', 
    name:'drugdrug', 
    id:'combodrug', 

    store: Ext.create('Screener.store.Drugs',{ 
          storeId: 'drugstore' 

         }), 
         displayField: 'drugname', 
         valueField: 'drugname', 
         queryMode: 'local', 
         triggerAction: 'all' 

     } 


       ] 
    }] 

    } 

    }); 

代碼藥店:

/* 
* This store loads the drugs from file 'drugs.json' 
* Note: there is no writer attached, so changes will 
* only occur in local cache 
*/ 

    Ext.define('Screener.store.Drugs', { 
     extend: 'Ext.data.Store', 
    storeId: 'drugStore', 

     config: { 
      model: 'Screener.model.Drug', 
      proxy: { 
       type: 'ajax', 
       url : 'drugs.json', 
       reader: 'json',  
       }, 
      autoLoad: true 

     } 
    }); 

我新的ExtJS的,請告訴我如何得到它的工作

回答

0

你不要指定太多。爲了能夠幫助您,我需要一個工作示例以及您正在使用的sencha版本。

我在表面上看到的是你有兩個商店:第一個是在組合框定義中「內聯」定義的。該商店不是Ext.store.Store的後代,因此它不起作用。

第二個似乎是幾乎正確的,但它沒有使用,因爲你是實例化的第一個。

試着改變你的店的定義在視圖中:

... 
fieldLabel: 'Combobox', 
    name:'drugdrug', 
    id:'combodrug', 

    store: 'drugStore' 
... 

此外,如果您在控制檯中收到錯誤,你不是說。

0

問題是您正在按名稱引用商店,並且您需要在視圖加載之前加載該商店。你有三個選擇:

參考商店在此視圖(.stores [])的控制器和視圖

參考商店中application.stores []

集之前加載控制器例如:

{ 
xtype:'combobox', 
store: new Ext.data.Store({model:'somemodel'}), 
... 
} 

最後一個選項可能會更好,因爲組合通常在他們自己的商店中效果更好。例如,4.1RC2中存在一個無法使用共享存儲分頁的錯誤。在這種情況下,請確保將代理放置在模型上,以便在具有相同模型的商店之間不存在代碼重複。

+0

好,我已經試過了,但依然面臨着同樣的問題,我已經創建的主面板上的三個按鈕,點擊一個他們打開窗體,但它沒有發生,當我添加組合框,但其他按鈕工作正常,當我嘗試在需求[]添加Ext.form.field.ComboBox,應用程序不加載。在api中的組合框類的任何問題? – 2012-04-15 21:36:59

+0

使用Firefox。安裝螢火蟲。螢火蟲有沒有錯誤?謝謝 – 2012-04-15 23:46:21

0

嗨,哥們,你應該增加一個聲明

renderTo:Ext.getBody()