почему мой список задач extjs не заполняется динамически? - PullRequest
1 голос
/ 24 декабря 2009

Вот моя функция Extjs onReady

var store = new Ext.data.Store({
                                  proxy: new Ext.data.HttpProxy({
                                  url: '/loginjson.json'
                                  }),

                                  reader: new Ext.data.JsonReader(
                                  {root: 'row', fields:['dblist']}
                                    )
                    });
            store.load();

и здесь я использую его в моей FormPanel как

renderTo: document.getElementById("loginform"),
                                    title: "Login Form",
                                    items: [{
                                        xtype: 'combo',
                                        fieldLabel: 'genre',
                                        name: 'genre',
                                        store: store,
                                        autoLoad: true,
                                        displayField: 'dblist',
                                    }

и JSON URL-адрес django возвращается следующим образом

http://localhost:8000/loginjson.json

{"row": [{"dblist": "datalist"}]}

но мой комбинированный список не заполнен. Я пропал где-то в extJS, но не смог найти.

Ответы [ 2 ]

4 голосов
/ 24 декабря 2009

Если вы ожидаете, что ComboBox будет вести себя больше как поле выбора HTML, добавьте в свой конфиг ComboBox свойство:

triggerAction: 'all'

Это обеспечит отображение всех предметов в магазине при нажатии кнопки запуска поля.

Конфигурации ComboBox также потребуется свойство valueField:

valueField: 'dblist'

Кроме того, явный вызов метода загрузки магазина не обязателен. ComboBox позаботится об этом в нужное время.

0 голосов
/ 24 декабря 2009

Я думаю, что свойство fields вашего читателя JSON настроено неправильно. Попробуйте это:

reader: new Ext.data.JsonReader({
            root: 'row'
        ,   fields:[{name: "dblist"}]
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...