6

how can i load a default value from my json store (remote) into a combobox , i've tried load the store before render the combo , and use setValue() i want my combo to display the first result in the store plz tell me the right way to do this and thanx

cranberies
  • 441
  • 3
  • 9
  • 23
  • Possible duplicate of [Extjs 4 combobox default value](https://stackoverflow.com/questions/5965416/extjs-4-combobox-default-value) – Vadzim Apr 24 '18 at 10:32

1 Answers1

14

You need to set the value property to the value of the first element after the store is loaded

Ext.ns('MyNamespace');

MyNamespace.MyComboBox = Ext.extend(Ext.form.ComboBox, {
  displayField: 'displayValue',
  triggerAction: 'all',
  valueField: 'ID',

  initComponent: function () {
    this.store = new Ext.data.JsonStore({
      url: 'url',
      baseParams: {
        //params
      },
      fields: [
        {name:'ID', mapping: 'ID', type: 'int'},
        {name:'displayValue', mapping: 'displayValue', type: 'string'},
      ],
      root: 'root'
    });

    var me = this;
    this.store.on('load',function(store) {
      me.setValue(store.getAt(0).get('ID'));
    })

    MyNamespace.MyComboBox.superclass.initComponent.call(this);

    this.store.load();
  }

});
Mchl
  • 61,444
  • 9
  • 118
  • 120