I have been reading quite many (about 5, mostly related to GridEditor) threads saying the same thing: I have a ComboBox with displayField&valueField and when I edit a cell in the grid, I don't get the displayField's value in the ComboBox input but the valueField.

This has been talked out: it is related to the fact that ComboBox's store isn't loaded (remote store).

And there were a couple of ideas, but I don't think any was "the solution".

This is what I come up with - making sure that the store is loaded:
Code:
Ext.Editor.prototype.startEditOld = Ext.Editor.prototype.startEdit;
Ext.Editor.prototype.startEdit = function(el, value){
    if (typeof this.field.store != 'undefined' && !this.field.store.getCount()){
        this.field.store.tmpCallback = function(o){
            var ds = this.field.store;
            ds.un('load', ds.tmpCallback);
            ds.un('loadexception', ds.tmpCallback);
            this.startEditOld(el, value);
            ds.on('load', this.field.onLoad, this.field);
            this.field.lastQuery = this.field.allQuery;
            this.field.store.tmpCallback = null;
        };
        this.field.store.un('load', this.field.onLoad, this.field);
        this.field.store.on('load', this.field.store.tmpCallback, this);
        this.field.store.on('loadexception', this.field.store.tmpCallback, this);
        this.field.store.reload({query:''});
    }
    else{
        this.startEditOld(el, value);
    }
}
Downside - when you double click on a cell, to edit it.. it takes a while to load the store, and there is no visual sign saying "Loading"

Why not transform this into an config property, and make sure the store is loaded (allQuery) upon rendering the field (ComboBox)?