Ext.data.JsonStore + Ext.DataView = не загружать записи - PullRequest
0 голосов
/ 19 мая 2010

Я пытаюсь заставить DataView работать (в Ext JS 2.3).

Вот jsonStore, который, кажется, работает (вызывает сервер и получает правильный ответ).

Ext.onReady(function(){

        var prefStore = new Ext.data.JsonStore({
            autoLoad: true,  //autoload the data
            url: 'getHighestUserPreferences',
            baseParams:{
                userId: 'andreab',
                max: '50'
            },
            root: 'preferences',
            fields: [
               {name:'prefId', type: 'int'},
               {name:'absInteractionScore', type:'float'}
            ]
        });

Тогда шаблон:

        var tpl = new Ext.XTemplate(
                '<tpl for=".">',
                    '<div class="thumb-wrap" id="{name}">',
                    '<div class="thumb"><img src="{url}" title="{name}"></div>',
                    '<span class="x-editable">{shortName}</span></div>',
                '</tpl>',
                '<div class="x-clear"></div>'
        );

Панель:

        var panel = new Ext.Panel({
            id:'geoPreferencesView',
            frame:true,
            width:600,
            autoHeight:true,
            collapsible:false,
            layout:'fit',
            title:'Geo Preferences',

И DataView

            items: new Ext.DataView({
                store: prefStore,
                tpl: tpl,
                autoHeight:true,
                multiSelect: true,
                overClass:'x-view-over',
                itemSelector:'div.thumb-wrap',
                emptyText: 'No images to display'
            })
        });
        panel.render('extOutput');
    }); 

На странице появляется синяя рамка с заголовком, но в ней ничего нет. Как я могу отладить это и посмотреть, почему это не работает?

Ура, Mulone

1 Ответ

3 голосов
/ 19 мая 2010

Ваш магазин не соответствует вашему шаблону, вы скопировали это только из примеров, не так ли: P

Элементы в шаблоне {имя} и т. Д. Относятся к полям в магазине, которые в вашем случае просто prefId и absInteractionScore.

То, что ожидает этот пример шаблона, - это имя и URL-адрес изображения, которое он затем создает, и for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...