2014-10-14 2 views
0

ExtJS 4.2를 사용하고 storeloadComboBox()에 인쇄 할 때 항목이 있지만 드롭 다운에 나타나지 않습니다. 드롭 다운이 비어 있습니다.Combobox가 불러 온 저장 데이터를 표시하지 않습니다.

여기는 JSFiddle DEMO입니다.

Ext.define('ReportFieldModel', { 
    extend: 'Ext.data.Model', 
    fields: [{ 
     'name': 'name', 
     'type': 'string' 
    }] 
}); 

Ext.define('ReportFieldComboStore', { 
    extend: 'Ext.data.JsonStore', 
    model: 'ReportFieldModel' 
}); 

var config = { 
    'type': "Summary", 
    'columns': [ 
     "red", 
     "yellow", 
     "orange", 
     "green", 
     "blue", 
     "indigo", 
     "violet"] 
}; 

function processItem(item) { 
    return Ext.create('ReportFieldModel', { 
     name: item 
    }); 
} 

function processItems(data) { 
    var arr = []; 
    if (data && data.length > 0) { 
     for (var i = 0; i < data.length; i++) { 
      arr.push(processItem(data[i])); 
     } 
    } 
    return arr; 
} 

function loadComboBox(combo, data) { 
    var store = combo.store; 
    var columns = data.columns; 
    var processed = processItems(columns); 
    console.log(JSON.stringify(processed, undefined, 2)); 
    store.loadData(processed, false); 
} 

Ext.onReady(function() { 
    var resultsPanel = Ext.create('Ext.panel.Panel', { 
     title: 'Results', 
     width: 200, 
     height: 400, 
     renderTo: Ext.getBody(), 
     layout: { 
      type: 'vbox', 
      align: 'stretch', 
      padding: 5 
     }, 
     items: [{ 
      xtype: 'combo', 
      itemId: 'myCombo', 
      displayField: 'name', 
      valueField: 'name', 
      mode: 'local', 
      store: Ext.getStore('ReportFieldComboStore') 
     }] 
    }); 

    loadComboBox(resultsPanel.down('#myCombo'), config); 
}); 

답변

2

는 config는 queryMode하지 mode입니다.

+0

감사합니다. Sencha는 항상 속성 이름을 변경합니다. –

+0

추가 조사 후 JSFiddles를 2 개 만들었습니다. [# 1] (http://jsfiddle.net/7ys8ypd9/1/) 및 [# 2] (http://jsfiddle.net/hgqse856/1/). 그들은 배열 저장소를 사용합니다. 첫 x 째는 새 상점 W 모델을 정의하고, 다른 상점 W 모델은 인라인으로 정의합니다. –

관련 문제