Hi all.
I need help.

I use Ext.Viewport (border layout). Content of central part and content of south part
changes by menu click.

Central part always consists of grid.

South part can be grid, tabpanel or south part is not active.

Sometimes appeares situation when I click on menu item, grid in tab in south part is not displayed.

Example:
PHP Code:
var grid = new Ext.grid.GridPanel({
    
region'center',
    
height500,
    
frametrue,
    
width'auto',
    
stripeRowstrue,
    
title'Accounts',
    
storestore,
    
cmcm,
    
loadMasktrue,
    
viewConfig: {
        
forceFittrue,
        
enableRowBodytrue,
        
showPreviewtrue
    
},
    
bbar: new Ext.Toolbar({
        
items: [typeFieldtypeBox'-'statusFieldstatusBox'-'smanagerFieldsManagerBox'-'traderFieldtraderBox'-'equityFieldobalanceBoxsobalanceFieldandFieldfobalanceField'-', {
            
pressedtrue,
            
enableToggletrue,
            
text'Apply',
            
iconCls'edit',
            
cls'x-btn-text-icon details',
            
toggleHandlerapplyChanges
        
}]
    }),
    
tbar: new Ext.PagingToolbar({
        
pageSize25,
        
storestore,
        
displayInfotrue,
        
displayMsg'Displaying accounts {0} - {1} of {2}',
        
emptyMsg"No accounts to display",
        
items: ['-', {
            
pressedtrue,
            
enableToggletrue,
            
iconCls'option',
            
text'Overhead Information',
            
cls'x-btn-text-icon details',
            
toggleHandlerexpandInfo
        
}, new Ext.Toolbar.TextItem('  '), {
            
text'New',
            
iconCls'add',
            
menumenu2
        
}, new Ext.Toolbar.TextItem('  '), EditButton]
    })
});

var 
var_tabpanel_south = new Ext.TabPanel({

    
borderfalse,
    
layoutOnTabChangetrue,
    
deferredRenderfalse,
    
activeTab0,
    
id'my_tab',
    
tabPosition'top',
    
autoTabstrue,
    
height170,
    
items: [{
        
title'Order History',
        
layout'fit',
        
items: [grid2]
    }, {
        
title'Money Transaction',
        
layout'fit',
        
autoScrolltrue,
        
items: [grid_transactions]
    }, {
        
title'Customers',
        
layout'fit',
        
autoScrolltrue,
        
items: [grid_customer]
    }]
});
var 
SouthPanel = new Ext.Panel({
    
            
    
deferredRenderfalse,       
    
layout:'fit',
    
borderfalse,
    
region'south',
 
borderfalse,
    
title'Side Information',
    
splittrue,
    
height200,
    
minSize100,
    
maxSize200,
    
collapsibletrue,
    
collapsedtrue,
    
margins'0 0 0 0',
   
    

    
items: new Ext.Panel({
        
deferredRenderfalse,
        
layout'fit',
        
borderfalse,
        
region'south',
        
id'south-polpanel',
       
        
items: [var_tabpanel_south]
    })       

});

Ext.onReady(function(){
 
    var 
viewport = new Ext.Viewport({
        
layout'border',
        
items: [new Ext.BoxComponent({
            
region'north',
            
el'north',
            
height32
        
}), westpanel, {
            
layout'fit',
            
region'center',
            
            
borderfalse,
            
items: new Ext.Panel({
                
deferredRenderfalse,
                
layout'fit',
                
region'center',
                
id'center-polpanel',
                
deferredRenderfalse,
                
items: [grid]
            })
        }, 
SouthPanel]
    }); 
function for navigation:
PHP Code:
var grid_section_last=grid;
var 
south_section_last=var_tabpanel_south;
var 
grid_past=true;
var 
grid_customers_past=false;
var 
grid_sales_managers_past=false;
var 
grid_traders_past=false;
var 
grid_ibs_past=false;
function 
loadMenuItem(menu_number){

    var 
state;
    var 
idElement;
    
    
SouthPanel.setTitle("Side Information");
    
SouthPanel.show();
    
SouthPanel.expand();
    
    if (
menu_number == 1) {
        
grid_section grid;
        
store_section=store;
        
south_section=var_tabpanel_south;
        
state=grid_past;
        
grid_past=true;
        
idElement="accounts";
        
    }

    if (
menu_number == 2) {
        
grid_section grid_customers;
        
store_section=store_customers_section;
        
south_section=grid_accounts_customers123;
        
state=grid_customers_past;
        
grid_customers_past=true;
        
idElement="customers";
    }
    if (
menu_number == 3) {
        
grid_section grid_sales_managers;
        
store_section=store_sales_managers;
        
south_section=var_tabpanel_south_sales;
        
state=grid_sales_managers_past;
        
        
grid_sales_managers_past=true;
        
idElement="sales_managers";
    }    
    
    if (
menu_number == 4) {
        
grid_section grid_traders;
        
store_section=store_traders;
        
south_section=var_tabpanel_south_traders;
        
state=grid_traders_past;
        
        
grid_traders_past=true;
        
idElement="traders";
    }    
    if (
menu_number == 5) {
        
grid_section grid_ibs;
        
store_section store_ibs;
        
south_section null;
        
state grid_ibs_past;
        
        
grid_ibs_past true;
        
idElement "ibs";
    }    

            
tab Ext.getCmp('center-polpanel');
            
sp Ext.getCmp('south-polpanel');
            
            if (!
state)
            {
            
                
grid_section.setHeight(tab.getSize().height+SouthPanel.getSize().height);
                
                
grid_section_last.hide();
                
                
                
                
tab.add(grid_section);
                
tab.doLayout();
                
                if (
south_section_last!=nullsouth_section_last.hide();
                
sp.doLayout();
                if (
south_section != null) {
                    
                    
sp.add(south_section);
                    
sp.doLayout();
                    
                }
                else {
                    
SouthPanel.collapse();
                    
SouthPanel.hide();
                }
                
loadDataGrid(store_sectionidElement,true);
            }
            else 
            {
                
                
grid_section_last.hide();
                if (
south_section_last!=nullsouth_section_last.hide();
                
                
                if (
south_section!=null)
                
south_section.show();
                else {
                    
SouthPanel.collapse();
                    
SouthPanel.hide();
                }

                
                
grid_section.show();    
    
                
loadDataGrid(store_sectionidElement,false);    
            }

        
document.getElementById("accounts").style.background="white";
        
document.getElementById("customers").style.background="white";
        
document.getElementById("sales_managers").style.background="white";
        
document.getElementById("traders").style.background="white";
        
document.getElementById("ibs").style.background="white";
        
document.getElementById(idElement).style.background="URL(../images/recent.jpg)";
    
        
grid_section_last=grid_section;
        
south_section_last=south_section;


    
}
function 
loadDataGrid(storetable,flag)
{
    if (
flag)
    
store.load({
        
params: {
            
table:table,
            
start0,
            
limit25
        
}
    });

Example part which change:
PHP Code:
var grid_sales_managers = new Ext.grid.GridPanel({
    
        
        
layout:'fit',
        
border:false,
        
region'center',
        
height500,
        
width'auto',
        
title'Sales Managers',
        
storestore_sales_managers,
        
cmcm_sales_managers,
        
stripeRows:true,
        
loadMasktrue,
        
viewConfig: {
            
forceFittrue,
            
enableRowBodytrue,
            
showPreviewtrue
        
},
        
tbar: new Ext.PagingToolbar({
            
pageSize25,
            
storestore_sales_managers,
            
displayInfotrue,
            
displayMsg'Displaying Sales Managers {0} - {1} of {2}',
            
emptyMsg"No Sales Managers to display",
            
items: ['-', {
                
pressedtrue,
                
enableToggletrue,
                
iconCls'option',
                
text'Overhead Information',
                
cls'x-btn-text-icon details',
                
toggleHandlerexpandInfo_sales_managers
            
}, new Ext.Toolbar.TextItem('  '), {
                
pressedtrue,
                
iconCls'add',
                
enableToggletrue,
                
text'New',
                
cls'x-btn-text-icon details',
                
toggleHandlertoggleDetails_sales_managers
            
}, new Ext.Toolbar.TextItem('  '), EditButton_sales_managers]
        })
    });


var 
var_tabpanel_south_sales = new Ext.TabPanel({



        
        
borderfalse,
        
layoutOnTabChangetrue,
        
deferredRenderfalse,
       
activeTab0,
        
id'my_tab3',
        
tabPosition'top',
        
autoTabstrue,
        
height170,
        
        
        
        
items: [{
            
            
title'Accounts',
            
autoScrolltrue,
            
layout'fit',
            
border:false,
            
id:"my_tab31",
            
items: [grid_accounts_sales_managers]
        }, {
            
title'Comission',
            
layout'fit',
            
border:false,
            
id:"my_tab32",
            
autoScrolltrue,
            
deferredRenderfalse,
            
items: [gridAmount_sales_managers]
        }]
    });