如何在ExtJs中选择组合框值?

Gre*_*zer 4 extjs extjs3

我试图在将其加载到商店后简单地在下拉列表中选择一个项目.这不起作用:

Ext.getCmp('ddlModel').setValue(aircraftStore.getAt(0).data.ModelTypeCode);
Run Code Online (Sandbox Code Playgroud)

这引发了一个异常:

Ext.getCmp('ddlModel').selectByValue(aircraftStore.getAt(0).data.ModelTypeCode);
Run Code Online (Sandbox Code Playgroud)

以下是例外:'this.view'为null或不是对象

任何人都知道如何在ExtJs中做到这一点?

Gre*_*zer 9

我创建了一个函数来设置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;
}
Run Code Online (Sandbox Code Playgroud)