5

基本クラスには、「フィールド」プロパティのみを構成するコンボボックスがあります。このような:

items: [
      comboText = Ext.create('Ext.form.ComboBox', {
                width: 150,
                padding: '0 20 0 0',
                displayField: 'label',
                store: Ext.create('Ext.data.Store', {
                    fields: [
                        {type: 'string', name: 'label'},
                        {type: 'string', name: 'fieldName'}
                    ]
                })
            }),
...]

このコンボに data プロパティのみを渡すにはどうすればよいですか? 以下のコードを試しましたが、うまくいきません。

comboTest.store.loadData(value);

value には次のような配列が含まれます。

 [
    {"label":"First name", "fieldName":"firstname"},
    {"label":"Birth date", "fieldName":"birthdate"}
 ]

エラーはありませんが、コンボボックスは何も開きません。

4

5 に答える 5

9

この構成を試してください:

       xtype:'combo',
       fieldLabel:'Division',
       name:'division',
       queryMode:'local',
       store:['A','B','C'],
       displayField:'division',
       autoSelect:true,
       forceSelection:true

別の代替手段は、 ComboBox のドキュメントに記載されています:

    // The data store containing the list of states
    var states = Ext.create('Ext.data.Store', {
        fields: ['abbr', 'name'],
        data : [
            {"abbr":"AL", "name":"Alabama"},
            {"abbr":"AK", "name":"Alaska"},
            {"abbr":"AZ", "name":"Arizona"}
            //...
        ]
    });

    // Create the combo box, attached to the states data store
    Ext.create('Ext.form.ComboBox', {
        fieldLabel: 'Choose State',
        store: states,
        queryMode: 'local',
        displayField: 'name',
        valueField: 'abbr',
        renderTo: Ext.getBody()
    });
于 2012-10-30T17:11:39.653 に答える
1

valueFieldは必須ですcomboboxvalueFieldコンボボックスに 設定してみてください。

于 2013-12-09T19:28:17.950 に答える