ExtJS 3 Combobox, связанный с Ext.data.JsonStore не открывается при втором нажатии ++ - PullRequest
1 голос
/ 13 января 2012

У меня проблемы с моим Combobox. Я создал простой комбинированный список, который настроен с JsonStore для предоставления удаленных данных. Поле со списком открывается без проблем, данные JSON запрашиваются, и Ext отображает полный раскрывающийся список.

Но время от времени при втором (иногда третьем) щелчке поле со списком не открывает и не загружает никакие удаленные данные.

Вот мой конфиг:

    var config = {
        autoLoad: true,
        fields: [{
            name: 'name',
            type: 'string'
        }, {
            name: 'count',
            type: 'int'
        }, {
            name: 'created_at',
            type: 'int'
        }, {
            name: 'updated_at',
            type: 'int'
        }],
        root: 'result',
        idProperty: 'id',
        proxy: new Ext.data.HttpProxy({
            method: 'GET',
            url: '/myHandler/loadDropDownList'
        })
    };

Сам комбинированный список загружен в панель инструментов:

    var config = {
        height: 27,
        items: [{
            xtype: 'tbtext',
            text: 'Your preference?:',
            // @todo inline style -> CSS
            style: {
                'font-weight': 'bold',
                'color': '#15428B',
                'font-family': 'tahoma,arial,verdana,sans-serif',
                'font-size': '11px'
            }
        }, 
        '->',
        // align the following items on the right side of the toolbar
        {
            xtype: 'combo',
            itemId: 'table-combobox',
            store: new myStore(),
            valueField: 'name',
            displayField: 'name',
            value: ' - Please Choose - '
        }]
    }

Большое спасибо заранее!

1 Ответ

0 голосов
/ 13 января 2012

У выпадающего списка могут возникать проблемы с запросом базы данных каждый раз, когда вы выбираете ее. Если вам не требуется, чтобы данные в выпадающем списке обновлялись в течение сеанса пользователя (т. Е. Значения выпадающего списка не меняются между моментами, когда пользователь щелкает по списку), вы можете добавить эту конфигурацию в выпадающий список:

mode:'local',

(ExtJS4: queryMode:'local')

Потребуются данные, которые хранятся в удаленном хранилище, с автозагрузкой, и он не будет запрашивать хранилище базы данных каждый раз, когда оно отключается.

...