Extjs 如何设置组合框的默认值

Extjs 如何设置组合框的默认值,extjs,Extjs,我有一个组合框,它有几个静态(硬编码)值,显示在网格中 默认情况下,它应该显示组合框中的第一个值。我尝试了几件事,但都不管用。 我首先创建StaticComboBox,然后 var StaticComboBox = Ext.extend(Ext.form.ComboBox, { mode: 'local', triggerAction: 'all', editable: false, valueField: 'value', displayField: 'labe

我有一个组合框,它有几个静态(硬编码)值,显示在网格中

默认情况下,它应该显示组合框中的第一个值。我尝试了几件事,但都不管用。 我首先创建StaticComboBox,然后

      var StaticComboBox = Ext.extend(Ext.form.ComboBox, {
  mode: 'local',
  triggerAction: 'all',
  editable: false,
  valueField: 'value',
  displayField: 'label', 
  data: [], 
  initComponent: function() {
    this.store = new Ext.data.ArrayStore({
      fields: ['value', 'label'],
      data: this.data
    });
    StaticComboBox.superclass.initComponent.call(this);
  }
});


    var cm = new Ext.grid.ColumnModel([
    {
       id:'language',
       header: "Language",
       dataIndex: 'language',
       width: 235,
       menuDisabled: true,
       editor:  new StaticComboBox({
           name: 'Reasons',
           data: [
             [0, 'Reason 1'],
             [1, 'Second Reason'],
             [2, 'Something else']
           ]
         }),

         listeners: {
             load: function () {
                 //set the ComboBox value here
                 var combo = Ext.getCmp('language');
                 combo.setValue("1");
             }
          } 
    } 
]);

您不太可能收到加载事件,因为您的商店已满。 试着去听音乐或别的什么

以下是一个工作示例:

使用Ext.data.Store,则您的数据必须是一组记录:

new StaticComboBox({
       name: 'Reasons',
       data: [{value: 0, label: 'reason1'},  {value: 1, label: 'reason2'}]    
});