2013-05-29 4 views
3

Этот вопрос касается макета pagingtoolbar. Моя цель - показать его в нижней части окна при изменении размера окна. Но теперь при уменьшении размера окна панель инструментов скрыта. pageingtoolbar кода:Как показать 'pagingtoolbar', когда размер окна изменился в Extjs?

{ 
    xtype:'pagingtoolbar', 
    store:'Users', 
    dock:'bottom', 
    displayInfo:true 
} 

ответ

2

Во-первых, «pagingtoolbar» - это не макет, а не окно, это компонент. Вот версия, которую я использовал в раннем проекте 4.x. Возможно, вам придется настроить его в какой-то момент, потому что он был создан для требований клиентов.

/** 
* @class Ext.ux..toolbar.Paging 
* @extends Ext.toolbar.Toolbar 
* Paging 
*/ 
Ext.define('Ext.ux.toolbar.Paging', { 
    extend: 'Ext.toolbar.Paging', 
    alias: 'widget.pagebar', 

    lastElements: 0, 
    autoPagesize: true, 

    initComponent: function() { 
     var me = this; 

     me.callParent(arguments); 
     if (me.autoPagesize) { 
      me.on('afterlayout', function (tb, layout, eOpts) { 
       var grid = tb.up('grid'); 
       if (!grid) 
        grid = tb.up('grid'); 
       grid.on('resize', function (p, aw, ah, eo) { 
        var view = p.getView(), 
         height = view.getHeight(), 
         elements = Math.floor(height/23); 
        if (me.lastElements == elements) 
         return; 
        me.lastElements = elements; 
        me.adjustPaging(elements); 

       }); 
      }, me, { single: true }); 
     } 

    }, 

    /** 
    * @private recalcPage 
    * recalculate the current page after the elements per page have changed 
    * @param {Number} new elements per page count 
    */ 
    recalcPage: function (ne) { 
     var me = this, 
      se = ((me.store.currentPage - 1) * me.store.pageSize) + 1, 
      c = me.store.currentPage, 
      e = me.store.pageSize; 
     return Math.floor(se/ne) + 1; 
    }, 

    /** 
    * @private adjustPaging 
    * recalculate the current page after the elements per page have changed 
    * @param {Number} new elements per page count 
    */ 
    adjustPaging: function (newElements) { 
     var me = this, 
      newPage = me.recalcPage(newElements); 
     me.store.pageSize = newElements; 
     me.store.loadPage(newPage); 
    } 
}); 
+0

пытается ~~ спасибо ~ – Leo

+0

@ user2086007 Добро пожаловать – sra

0

Я думаю, что вы можете использовать якорь макета в окне, которое имеет эту сетку с подкачкой toolbar.Here что якорь макета и якоря сделать: Anchor Layout

Смежные вопросы