2015-07-24 3 views
0

Скопированные данные из одного хранилища в другое хранилище и назначенное хранилище для комбо, выпадающее меню Combo показывает значения, но если я выберу одно значение, оно не будет выбрано и не показано в поле со списком как выбранное значение.Extjs 4 Combo показывает значения, но не позволяет выбирать

Ext.each(abcStore.data.items, function (item) { 
    if(item.data.isAutoAnalyst == 1) { 
      Ext.each(item.raw.subservices, function(i){ 
         abcSubStore.add(i); 
      }); 
     } 
}); 

ответ

0

Я создал два комбинированных блока и одну кнопку. В первом поле со списком есть хранилище и некоторое значение по умолчанию. Второй комбинированный блок имеет хранилище, но не имеет значения. Когда вы нажимаете кнопку, во втором поле со списком будет добавлено первое значение поля со списком.

Я не добавлял условие при добавлении данных из одного поля со списком в другое. После нажатия кнопки во втором поле со списком будут отображаться все значения, которые находятся в первом поле со списком, и когда вы выберете любое значение, которое будет отображаться в поле комбинированного текста.

Ext.onReady(function() { 
    var comboBox1 = new Ext.data.JsonStore({ 
     autoLoad: false, 

     fields: ['text', 'value'], 
     data: [{ 
      'text': "Value1", 
      'value': 'Value1' 
     }, { 
      'text': "Value2", 
      'value': 'Value2' 
     }, { 
      'text': "Value3", 
      'value': 'Value3' 
     }, { 
      'text': "Value4", 
      'value': 'Value4' 
     }, { 
      'text': "Value5", 
      'value': 'Value5' 
     }, { 
      'text': "Value6", 
      'value': 'Value6' 
     }] 
    }); 

    var comboBox2 = new Ext.data.JsonStore({ 
     autoLoad: false, 
     fields: ['text', 'value'] 
    }); 

    Ext.create('Ext.window.Window', { 
     width: 400, 
     height: 300, 
     items: [{ 
      xtype: 'combobox', 
      id: 'comboBox1', 
      store: comboBox1, 
      displayField: 'text', 
      valueField: 'value', 
      queryMode: 'local' 
     }, { 
      xtype: 'button', 
      text: 'Copy first combo box store to another combo box store', 
      handler: function() { 
       var combo1Store = Ext.getCmp('comboBox1').getStore(); 
       var combo2Store = Ext.getCmp('comboBox2').getStore(); 
       Ext.each(combo1Store.data.items, function(item) { 
        combo2Store.add(item); 
       }); 
      } 
     }, { 
      xtype: 'combobox', 
      id: 'comboBox2', 
      store: comboBox2, 
      displayField: 'text', 
      valueField: 'value', 
      queryMode: 'local' 
     }] 
    }).show(); 
}); 
Смежные вопросы