2017-10-13 2 views
-2

도구 상자에있는 extjs를 사용하여 콤보 상자를 만들었습니다. 콤보 상자에서 목록을 선택하면 격자 표를 가져 오려고합니다. 이 예제를 고려하십시오. 내가 차를 선택하는 경우click on funthion 콤보 상자에서 Extjs 사용

나는이 콤보 상자에서 내 콤보 상자

1,car 
2,bike 
3,train 

3 개 값을 갖는하고, 나는 아래의 그리드 표를 얻을 필요가있다. 몇 가지 코드를 시도했지만 낭비했습니다. 누구든지 저에게 작은 모범을 보이고 그것을 달성하는 방법을 말해주십시오.

답변

1

down 이상을 사용하여 다른 구성 요소를 사용할 수 있습니다. https://fiddle.sencha.com/#view/editor&fiddle/28af

+0

답변을 주셔서 감사합니다. 그러나 만약 내가 그 목록을 선택했다면 ... 그 다음에 목록 만 선택하면 다시 표시됩니다. –

+0

자세한 내용을 알려 주실 수 있습니까? – Sangnc

1

당신은 다음과 같이 수행 할 수 있습니다 :

  1. 는 컨테이너 (콤보 상자와) 도구 모음과 세 개의 그리드를 포함 (패널 말) 부모를 보자 다음 내 예입니다.

  2. 이 컨테이너에 card 레이아웃을 지정하십시오.

  3. 컨테이너의 activeItem 속성을 선택한 항목과 같게 설정하려면 combobox 이벤트 select을 처리하십시오.

    Ext.create('Ext.panel.Panel', { 
        layout: 'card', 
        tbar: [{ 
         xtype: 'combo', 
         fieldLabel: 'Select: ', 
         value: 'Car', 
         displayField: 'name', 
         queryMode: 'local', 
         store: { 
          type: 'combo' 
         }, 
         listeners: { 
          select: function (combo, record) { 
           var val = record.get('value'); 
           combo.up('panel').getLayout().setActiveItem(val) 
          } 
         } 
        }], 
        items: [{ 
         xtype: 'cargrid', 
         activeItem: true 
        }, { 
         xtype: 'bikegrid', 
        }, { 
         xtype: 'traingrid', 
        }], 
        renderTo: Ext.getBody() 
    }); 
    

    여기에 간단한 작업 fiddle이 있습니다. 이 예제는 하나의 그리드 클래스 정의로 단순화 될 수 있습니다.

업데이트 : 그것은 5.x 버전의 또는 다음 위에 당신이 바인딩을 함께 할 수합니다. this 예제를 참조하십시오.