2013-03-27 2 views
2

두 개의 콤보 박스가 있으며 'sg'및 'aod'키의 2 콤보 데이터가 포함 된 단일 저장소를 사용하고 있습니다.Extjs - 콤보 상자를 채워 Single Store를 형성하는 방법은 무엇입니까?

내가 내 데이터를 채우려는 1 콤보 말할 수 있습니다 'SG'나는 'AOD'내가 채울 수있는 방법을 다음

라는 키를 사용하여 데이터를 입력 할 2 콤보를 들어

키 데이터는 콤보를 렌더링하는 동안?

여기 내 가게 : 당신의 도움에 대한

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 \t \t \t \t \t \t \t \t 
 
    }, 
 

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

감사합니다!

답변

1

myStore.getAt(0).get('sg')를 사용하여 내가 2 콤보 myStore.getAt(0).get('aod')와 1 콤보에 데이터를 채울 수와 동일입니다.

{ 
    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'] 
      } 
     } 
    ] 
}); 
관련 문제