DataView с Extjs 3 - PullRequest
       22

DataView с Extjs 3

0 голосов
/ 23 ноября 2011

Я создаю панель, которая показывает мне миниатюры изображений слева, и когда я нажимаю на изображение, оно отображается на правой панели.Это работает, но я хочу, когда я открываю эту страницу и не нажимая ни на какой большой палец, она показывает мне на правой панели изображение по умолчанию (это значение содержит ссылку на изображение по умолчанию D.data.defaultimage)

Этомой код для этой панели:

var Pstore = new Ext.data.JsonStore({
        proxy: new Ext.data.HttpProxy({
            url: 'page.php?cmd=Affich',
            method: 'POST'
        }),
        root: 'images',
        fields: [ 'name', 'url', 'thumb_url' ]
    });
    Pstore.load();

    var tpl = new Ext.XTemplate(
        '<tpl for=".">',
            '<div class="thumb-wrap" id="{name}">',
            '<center><img src="{thumb_url}" title="{name}"></center>',
                '<span>{name}</span></div>',
        '</tpl>'
    );
    tplDetail = new Ext.XTemplate(
        '<div class="details">',
            '<tpl for=".">',
                '<center><img src="{url}"></center>',       
            '</tpl>',
        '</div>'
    );

    datav = new Ext.DataView({
        autoScroll  : true,
        store       : Pstore, 
        tpl         : tpl,
        autoHeight  : false,
        multiSelect : true,
        overClass   : 'x-view-over',
        itemSelector: 'div.thumb-wrap',
        emptyText   : 'No images',
        listeners: {
            click: {
                fn: function() {
                    selNode = datav.getSelectedRecords();
                    tplDetail.overwrite(panelPreview.body, selNode[0].data);
                    panelPreview.body.fadeIn('l', {duration:0.5});
                }
            }
        }
    })

    var panelLeft = new Ext.Panel({
        id          : 'images-view',
        title       : 'Pages',
        autoScroll  : true,
        region      : 'west',
        frame       : true,
        width       : 180,
        layout      : 'fit',
        items       : datav
    });
    panelPreview = new Ext.Panel({
        title       : 'Aperçu:',
        region      : 'center',
        autoScroll  : true,
        frame       : true,
        layout      : 'fit',
        id          : 'panelDetail',
        tpl         : tplDetail
    });

    Affich = new Ext.FormPanel({
        frame       : true,
        layout      : 'border',
        bodyStyle   : 'padding:5px',
        renderTo    : 'right-bottom',
        items       : [panelLeft, panelPreview]
    });

Спасибо за помощь

1 Ответ

0 голосов
/ 23 ноября 2011

Просто пара быстрых (непроверенных) мыслей - вы пытались сделать вашу панель «Просмотр данных»? Затем вы можете установить emptyText на нужные вам значения. В качестве альтернативы, Panel имеет конфигурацию data, которую вы можете применить, которая в соответствии с документацией является начальным набором данных для загрузки в шаблон.

...