2012-06-18 60 views
4

有沒有辦法將商店綁定到ExtJS組合框而不創建js模型(ExtJS 4.1)?
要填充用戶組合框,我總是需要先設置模型?我想跳過每個組合框下面的代碼:extjs combobox模型

Ext.define('User',{extend:'Ext.data.Model',idProperty:'Id',fields:['Id','Name']}); 

回答

2

我認爲有必要創建簡單的模型,兩個字段ID,姓名,然後使用這個模型上的所有靜態存儲(這是我使用的組合框),其中值的列表是預定義的。

3

你說得對,尼爾!
我發現如何使用它:

var myStore = Ext.create('Ext.data.Store',{ 
    fields:['Id','Name'], 
    data:[ 
     {Id:0,Name:'Yes'}, 
     {Id:1,Name:'No'}, 
     {Id:2,Name:'Maybe'} 
    ] 
}); 

var pnl = Ext.create('Ext.panel.Panel', { 
    xtype: 'panel', 
    title: 'My Panel', 
    items: [{ 
     id:'cboField1' 
     xtype:'combobox', 
     fieldLabel:'My Field', 
     displayField:'Name', 
     valueField:'Id', 
     queryMode:'local', 
     store: myStore 
    }] 
}); 
2

如果你使用的建築師,你可以指定存儲庫屬性的組合框的數組。如果你只是想要一個靜態的'標題'組合框,那麼沒有必要創建額外的商店&模型。

xtype:'combo', 
fieldLabel:'Title', 
name:'division', 
queryMode:'local', 
store:['Mr','Mrs','Ms'], 
displayField:'title', 
autoSelect:true, 
forceSelection:true 

p.s.爲了將商店屬性更改爲Architect中的本地數組,您需要選擇商店文本左側的小圖標,並將其更改爲數組而不是商店。 enter image description here