1

何を試しても、コンボボックスにストアから単一のフィールドを表示することはできません。

これが私のコードです:

store/Criteria_1.js

Ext.define('AM.store.Critera_1', { //temp store
    extend: 'Ext.data.Store',
    model: 'AM.model.Criteria1',
    storeId: 'search_criteria_1',
    fields: ['TECH_NAME', 'KBE_ID', 'KBE_NAME'],
    data : [
        { TECH_NAME: 'TECH_NAME' },
        { KBE_ID: 'KBE_ID' },
        { KBE_NAME: 'KBE_NAME' }
    ];
});

モデル/Criteria_1.js

Ext.define('AM.model.Criteria_1', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'TECH_NAME', type: 'string' },
        { name: 'KBE_ID', type: 'int' },
        { name: 'KBE_NAME', type: 'string' }
    ]
});

そして、ここで私はそれを app.js と呼ぼうとしています:

{ xtype: 'combobox', padding: 5,   id: 'criteria_1_dropdown', store: Ext.StoreManager.get('Criteria_1'), displayField: 'KBE_ID' },

私もまだプロキシを使いたくありません。何か案は?

4

2 に答える 2

0

fieldsを使用している場合は、ストアで定義しないでくださいModel。また。dataあなたの店にあるものは、おそらくあなたが探しているものではありません. 3 つの異なるレコードがあり、それぞれにフィールドが 1 つだけ入力されています。おそらくこれが必要です:

data : [
    { 
        TECH_NAME: 'TECH_NAME',
        KBE_ID: 'KBE_ID',
        KBE_NAME: 'KBE_NAME' 
    }
]
于 2013-08-14T15:49:06.090 に答える
0

私も同じ問題を抱えていました。Extjs 5 ドキュメントのこの例を見て解決しました: http://dev.sencha.com/extjs/5.0.0/examples/kitchensink/#form-combos

あなたにはいくつかの違いがあります。これを試して:

Ext.define('AM.model.Criterion', { // the model name should be singular; it refers to only one entry)
    extend: 'Ext.data.Model',
    fields: [
       'TECH_NAME',
       'KBE_ID',
       'KBE_NAME'
    ]
});

Ext.define('AM.store.Critera_1', { //temp store
    extend:'Ext.data.ArrayStore',
    model: 'AM.model.Criterion',
    storeId: 'search_criteria_1',
    data : [
        [ 'TECH_NAME_ONE', 'KBE_ID_ONE', 'KBE_NAME_ONE' ]
    ];
});

ついに:

{ 
    xtype: 'combobox', 
    padding: 5,   
    id: 'criteria_1_dropdown', 
    store: { type:'search_criteria_1' }, 
    displayField: 'KBE_ID',
    queryMode:'local'
}

に注意してqueryMode:'local'ください。テストせずに作業コードをあなたの例に適合させました。

お役に立てば幸いです。

于 2015-10-21T19:52:53.120 に答える