Ext.js 4 полосы прокрутки на панели - PullRequest
2 голосов
/ 25 февраля 2012

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

У меня есть сервлет, который возвращает фрагмент текста, который я хочу отобразить на панели.

Эта панель определяется следующим образом:

Ext.define('MyApp.view.log.View' ,{
    extend: 'Ext.panel.Panel',
    alias : 'widget.logview',
    title : 'Log',

    id: 'log.View',

    layout: 'fit',
    autoscroll: true,

}); // end Ext.define

Возвращенный текст добавляется на панель, определенную выше, следующим образом:

{
    xtype: 'button',
    text: 'Import',
    handler:  function()
    {
        Ext.Ajax.request({
            url: '/MyApp/Import',
            success: function(response)
            {
                var theText = response.responseText;
                var logPanel = Ext.getCmp('log.View');
                logPanel.insert(0, [ { xtype: 'box', autoEl: { cn: theText } } ] );
            }
        });  // end Ajax.request
    }  // end handler
}

Я не могу заставить работать вертикальные полосы прокрутки. Я вижу, что grid.Panel имеет метод defineScrollbars, но panel.Panel - нет.

Любая помощь приветствуется. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 февраля 2013

вы можете добавить конфигурацию к главной панели: scroll: true и autoScroll: true, то есть для псевдонима: 'widget.logview'

1 голос
/ 25 февраля 2012

Подгонка макета на панели в основном означает, что все, что вы собираетесь добавить на панель, когда она дочерняя, будет занимать все доступное пространство внутри этой панели.Это также означает, что на панель с макетом подгонки должен быть добавлен только один дочерний компонент.Если дочерний элемент «умещается» внутри родительской панели, тогда полосы прокрутки не нужны :)

Вы можете попробовать дать панели несколько размеров (высоту и ширину), удалить макет и посмотретьэто дает вам то, что вы хотите.

...