ExtJS可折叠面板不展开工具栏吗?

时间:2012-05-17 15:09:15

标签: extjs grid panel paging toolbar

我在使用可折叠面板中的工具栏渲染网格时遇到了麻烦。正如您在底部的代码中看到的,我有阅读器,存储,网格与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');
                }
        });
        }
    }
});

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

你可以尝试一些事情:

  1. 为包含面板指定布局配置layout: 'fit'
  2. 使用明确的停靠项目,即删除bbar: pagingToolbar并输入:
  3. dockedItems: [{
        xtype: 'pagingtoolbar',
        dock: 'bottom',
        pageSize: 20,
        buttonAlign: 'center',
        store: store_DailyActivity
    }],