Ext.define('Beam', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
]
});
var beamSearch = Ext.create('Ext.data.Store', {
model: 'Beam',
proxy: {
type: 'ajax',
api:{
read:'../loadBeamStore.action'
},
reader: {
type: 'json',
root: 'beams'
}
},
autoLoad: false
});
combo内容如下
{
xtype:'combo',
fieldLabel: '名称',
store: beamSearch,
itemId:'beamSearch',
queryMode: 'local',
displayField: 'name',
valueField: 'id',
forceSelection:true,
editable : false,
hideTrigger : false,// 隐藏微调按钮
allowBlank : false,
value:0,
listeners:{
'expand':function(th){
beamSearch.load();
}
}
}
后台action若定义了success变量,则前端返回的success必须设为true,否则无法加载出store。
private List<Beam> beams = new ArrayList<Beam>();
private boolean success;//定义了success变量
@Action(value = "loadBeamStore", results = { @Result(type = "json") })
public String loadBeamStore(){
int num = 23;
for(int i = 1; i < num; i++){
Beam beam = new Beam();
beam.setId(i);
beam.setName("option "+i);
beams.add(beam);
}
this.success = true;//则必须返回true
return SUCCESS;
}