I've ran into this a few time where I use an Ext.field.Select and I call setValue() prior to it's store completing it's remote load of data. Thus the value isn't displayed in the selection.
I've written an override to the Ext.field.Select.applyValue method to account for this, and I was wondering if this is something you would consider adding to your framework? I'm not certain how many other users run into this issue but it seems like it might be a common enough issue to warrant a solution
Code:
applyValue: function(value) {
var record = value,
index, store;
//we call this so that the options configruation gets intiailized, so that a store exists, and we can
//find the correct value
this.getOptions();
store = this.getStore();
if ((value != undefined && !value.isModel) && store) {
//Override to set the value of the store if it's still loading
if(store.isLoaded()==false && store.isLoading() && value!=null){
//Set a single event to set the value of the store once it's loaded
store.on('load',function(s,r){
this.setValue(value);
},this,{single:true})
}
else{
index = store.find(this.getValueField(), value, null, null, null, true);
if (index == -1) {
index = store.find(this.getDisplayField(), value, null, null, null, true);
}
record = store.getAt(index);
}
}
return record;
}
})