ExtJS 可折叠面板在展开时不渲染工具栏?

问题描述 投票:0回答:2

我在可折叠面板中使用工具栏渲染网格时遇到问题。正如您在底部的代码中看到的,我有阅读器、商店、带有 bbar 和面板的网格。当我将面板的可折叠属性设置为false时,网格的工具栏呈现完美。但是,当我将面板可折叠属性设置为 true 然后展开面板时,我看不到工具栏。我想在面板上显示带有工具栏的网格和数据,而不会出现任何问题。我怎样才能修复这个代码?

谢谢大家。

var reader_DailyActivity = new Ext.data.JsonReader({
    totalProperty       : 'total',
    successProperty : 'success',
    root            : 'data',
    fields          : [
                        {name: 'date'},
                        {name: 'time'},
                {name: 'description'},
                {name: 'speed'},
                {name: 'distance'},
                {name: 'type'},
                {name: 'source'}
            ]
});

var store_DailyActivity = new Ext.data.Store({
    id      : 'dailyActivityStoreID',
    reader      : reader_DailyActivity
});

var pagingToolbar = new Ext.PagingToolbar({
    pageSize    : 20,
    buttonAlign     : 'center',
    store       : store_DailyActivity
});

var DailyActivityGrid = new Ext.grid.GridPanel({
    id          : 'dailyActivityGrid',
    store           : store_DailyActivity,
    loadMask        : true,
    height          : 300,
    autoScroll      : true,
    viewConfig      : { 
        emptyText       : 'No Record Found',
        deferEmptyText  : false,
        forceFit        : true
    },
    columns         :[
                    {header: 'Date', dataIndex: 'date'},
                    {header: 'Time', dataIndex: 'time'},
                    {header: 'Description', dataIndex: 'description'},
                    {header: 'Speed', dataIndex: 'speed'},
                    {header: 'Distance', dataIndex: 'distance'},
                    {header: 'Type', dataIndex: 'type'},
                    {header: 'Source', dataIndex: 'source'}
                ],
    bbar        : pagingToolbar
});

var VehicleDetail = new Ext.Panel({
    title       : 'Activity Details',
    id      : 'panel_DetailID',
    collapsible : true,
    collapsed   : true,
renderTo    : 'renderedDivID',
    items       : DailyActivityGrid,
    listeners   : {
        'expand' : function(hede)
        {
            var panelMask = Ext.getCmp('panel_DetailID');
            // mask grid panel
            panelMask.getEl().mask('Please Wait');

        Ext.Ajax.request({                 
                url: 'url comes here',
                params: 
                {
                    param1  : reqParam1,
            start   : 0,
            limit   : 20
                },
                success: function (result, request) 
                {                   
                    var resData = Ext.util.JSON.decode(result.responseText);
                    store_DailyActivity.loadData(resData);
                    // unmask grid panel
                    panelMask.getEl().unmask();
                },
                failure: function ()
                {
                    console.log('error');
                }
        });
        }
    }
});
extjs pagination grid panel toolbar
2个回答
4
投票

请尝试删除GridPanel的高度。我在 RowExpander 中遇到了同样的问题,我试图在扩展器上加载网格。就我而言,网格显示正常,但由于高度限制,tbar 和 bbar 未显示。因此,我尝试去除网格的高度,它为我带来了成功。您的问题与我的类似,因此请尝试此建议。希望它有效!


1
投票

您可以尝试以下几件事:

  1. 为包含面板提供布局配置
    layout: 'fit'
  2. 使用显式停靠的项目,即删除
    bbar: pagingToolbar
    并放入:
dockedItems: [{
    xtype: 'pagingtoolbar',
    dock: 'bottom',
    pageSize: 20,
    buttonAlign: 'center',
    store: store_DailyActivity
}],
© www.soinside.com 2019 - 2024. All rights reserved.