2

2つのコンボボックスがあり、「sg」キーと「aod」キーの2つのコンボのデータを含む1つのストアを使用しています。

最初のコンボで、「sg」キー内にデータを入力したいとします。

2番目のコンボでは、データに「aod」というキーを入力します。

次に、コンボをレンダリングしながらデータを入力するにはどうすればよいですか?

これが私の店です:

var myStore = Ext.create('Ext.data.Store', {
  fields: [{
    name: 'sg'
  }, {
    name: 'aod'
  }],
  data: [{
      'sg': ['1', '2', '3', '4', '5']
    }, {
      'aod': ['15', '20']
    }

  ]
});


Here is my comobos inside items config

defaults: {
    labelAlign: 'top',
    width: '20%',
    style: {
      textAlign: 'center',
      color: '#0a4374',
      fontSize: '12px',
      fontWeight: 'bold'
    },
    labelSeparator: '',
    allowEmpty: false,
    editable: false,
    cls: 'extraComboBox',
    xtype: 'combo',
    autoSelect: true,
    margin: 10
  },
  items: [{
      fieldLabel: 'Combo 1',
      value: '',
      //Here I want to load myStore.data.items[0].data.sg								
    },

    {
      fieldLabel: 'Combo 2',
      value: '',
      //myStore.data.items[1].data.aod			
    }

ご協力いただきありがとうございます!!

4

2 に答える 2

2

ComboBox.valueFieldを使用できます

表示用:Combobox.displayField

于 2013-03-27T09:44:55.487 に答える
1

を使用することによりmyStore.getAt(0).get('sg')、データを1番目のコンボに入力し、2番目のコンボと同じにすることができmyStore.getAt(0).get('aod')ます。

各コンボのデフォルト値を設定するには、

{
    fieldLabel: 'Combo 1',
    id: 'sg',
    store: myStore.getAt(0).get('sg').data,
    listeners: {
        afterrender: function (combo) {
            combo.setValue(myStore.getAt(0).get(combo.id).default);
        }
    }
}, {
    fieldLabel: 'Combo 2e',
    id: 'aod',
    store: myStore.getAt(0).get('aod').data,
    listeners: {
        afterrender: function (combo) {
            combo.setValue(myStore.getAt(0).get(combo.id).default);
        }
    }

}

次のようにjsonを変更します。

var myStore = Ext.create('Ext.data.Store', {

    fields: [
        {name: 'sg'}, 
        {name: 'aod'}
    ],

    data: [{
            'sg': {
                'default': 1,
                'data': ['1', '2', '3', '4', '5']
            }
        }, {
            'aod': {
                'default': '15',
                'data': ['15', '20']
            }
        }
    ]
});
于 2013-03-27T11:07:30.730 に答える