2015-01-22 1 views
1

Ext.ux.form에서 ItemSelector를 사용하고 있습니다. 선택한 열에 몇 가지 기본값을 채워야합니다. 사용 가능한 열을 올바르게 채울 수 있지만 toField 저장소를 기본값으로 설정하려고하면 사용 가능한 열로 끝납니다. 다음은 코드 스 니펫입니다. 아무도 나를 도울 수 없습니까?ItemSeclector의 선택된 열을 Ext-JS의 기본값으로 사용하십시오.

        var data = [{"name":"abcd"}]; 

           var ds = SailPoint.Store.createStore({ 
            url: CONTEXT_PATH + '/define/applications/discoverServers.json', 
            fields: ['name','value'], 
            autoLoad: true, 
            baseParams: {domain : domain}, 
            listeners: { 
               load: function() { 
               alert('store loaded'); 
              } 
             } 
           }); 

           var itemselectorField = new Ext.Panel({ 
            title: 'Select Servers', 
            width: 700, 
            id:'selectServerId', 
            bodyPadding: 10, 
            height: 300, 
            renderTo: 'itemselector', 
            layout: 'fit', 
            items:[{ 
             xtype: 'itemselector', 
             name: 'itemselector', 
             id: 'itemselectorField', 
             anchor: '100%', 
             imagePath: '../images/extjs-ux/', 
             store: ds, 
             displayField: 'name', 
             valueField: 'name', 
             allowBlank: false,           
             msgTarget: 'side', 
             fromTitle: 'Available', 
             toTitle: 'Selected', 
             listeners: { 
              afterrender: function() { 
                Ext.getCmp('itemselectorField').toField.store.loadData(data); 
                Ext.getCmp('selectServerId').doLayout(); 
                alert("After Render"); 
              } 
             } 
            } 
           ] 
           }); 

답변

1

itemselector 필드의 setValue 메소드를 사용해야합니다. 귀하의 청취자가 다음과 같아야 객체 :

listeners: { 
    afterrender: function(field) { //Add the field argument to the afterrender 
     var a = []; // The setValue method receives an Array 
     for(var key in data) { 
      a.push(data[key].name); 
     } 
     field.setValue(a); 
    } 
} 

바이올린 그래서 당신이 좀 걸릴 수 있습니다 : https://fiddle.sencha.com/#fiddle/gue

+0

그것은했다! 정말 고맙습니다. – Sayali

관련 문제