How to select a combobox value in ExtJs?

Greg Finzer picture Greg Finzer · Jun 12, 2012 · Viewed 30.9k times · Source

I am trying to simply select an item in the dropdown list after it has been loaded into a store. This does not work:

Ext.getCmp('ddlModel').setValue(aircraftStore.getAt(0).data.ModelTypeCode);

This throws an exception:

Ext.getCmp('ddlModel').selectByValue(aircraftStore.getAt(0).data.ModelTypeCode);

Here is the exception: 'this.view' is null or not an object

Anyone know how to do this in ExtJs?

Answer

Greg Finzer picture Greg Finzer · Jul 13, 2012

I created a function to set the value of the combo box in ExtJs:

function ComboSetter(comboBox, value) {
    var store = comboBox.store;
    var valueField = comboBox.valueField;
    var displayField = comboBox.displayField;

    var recordNumber = store.findExact(valueField, value, 0);

    if (recordNumber == -1)
        return -1;

    var displayValue = store.getAt(recordNumber).data[displayField];
    comboBox.setValue(value);
    comboBox.setRawValue(displayValue);
    comboBox.selectedIndex = recordNumber;
    return recordNumber;
}