我有一个组合框,其中填充了以下定义的国家/地区列表。但是,当我加载组合框时,条目将根据它们在数据库中的顺序进行填充。我希望组合框按字母顺序加载。任何人都可以协助我如何对数据存储区进行排序吗?
商店定义
Tool.model.Base.defineModel(
'Country',
[{name: 'name', type: 'string'},
{name: 'code', type: 'string'},
],
true
);
组合框代码
{
xtype: 'combobox',
labelAlign: 'top',
fieldLabel: 'Country',
id: 'CountrySelectField',
name: 'country_id',
store: 'Country',
displayField: 'name',
valueField: 'id',
width: 300,
allowBlank:false,
}
答案 0 :(得分:1)
您必须在定义期间向商店添加分拣机:
display: none
或在运行时:
sorters:[{
property:'name',
direction:'ASC'
}]
答案 1 :(得分:1)
var countries = Ext.create('Ext.data.Store', {
fields: ['country', 'code'],
data : [
{"country":"USA", "code":"USA"},
{"country":"Belgium", "code":"BEL"},
{"country":"Bosnia", "code":"BOS"},
{"country":"Uruguay", "code":"URU"},
{"country":"Denmark", "code":"DEN"},
{"country":"Canada", "code":"CAN"}
//...
],
sorters:[{
property:'country',
direction:'ASC'
}]
});
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Country',
store: countries,
queryMode: 'local',
displayField: 'country',
valueField: 'code',
renderTo: Ext.getBody()
});