js モデル (ExtJS 4.1) を作成せずにストアを ExtJS ComboBox にバインドする方法はありますか?
ユーザーのコンボボックスにデータを入力するには、最初にモデルを設定する必要がありますか? コンボボックスごとに次のコードをスキップしたいと思います。
Ext.define('User',{extend:'Ext.data.Model',idProperty:'Id',fields:['Id','Name']});
そうです、ニール!
私はそれを使用する方法を見つけました:
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
}]
});
Architect を使用している場合は、ComboBox の store プロパティで配列を指定できます。静的な 'Title' ComboBox だけが必要な場合は、追加のストアとモデルを作成する必要はありません。
xtype:'combo',
fieldLabel:'Title',
name:'division',
queryMode:'local',
store:['Mr','Mrs','Ms'],
displayField:'title',
autoSelect:true,
forceSelection:true
ps Architect でストア プロパティをローカル配列に変更するには、ストア テキストの左側にある小さなアイコンを選択し、ストアではなく配列に変更する必要があります。
id と name の 2 つのフィールドを持つ単純なモデルを作成し、値のリストが事前定義されているすべての静的ストア (コンボボックスに使用) でこのモデルを使用すると便利であることがわかりました。
Extjs ではどのような状況でもストアにモデルを設定する必要はありません。ストアの fields プロパティを設定します。
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-fields
また、ローカル データのストアのデータ プロパティも考慮してください。
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-property-data