deferredRender not working for Ext 4.1.1 Tabpanel

deferredRender not working for Ext 4.1.1 Tabpanel

REQUIRED INFORMATION

Ext version tested:

Ext 4.1.1 and

Ext 4.0.7

Browser versions tested against:

Chrome 14.0

Description:

I have A Tab panel which has a panel in each tab. Each panel contains at least a grid.
When tab panel has a config of deferredRender : false then all the components(grids along with the record rows) on non active tabs also should get rendered and their viewready events must get fired. It works for 4.0.7 but not 4.1.1. It seems as the Rows are not getting rendered while the Grid on non active tab is not visible.

The result that was expected:

There should be an alert from within the viewready listener of non active tab's grid "ready 2" as soon as we run the code for both Ext 4.0.7 and 4.1.1. The rows should get rendered as well for all the grids.

The result that occurs instead:

There is no alert for 4.1.1 but there is an alert for 4.0.7.For Ext 4.1.1 It appears only when we navigate to second tab. The grids are rendered but the rows gets rendered only when we navigate to that Tab.

Looking at the DOM the grid elements are rendered but the rows of the grid aren't in your test case. If you comment out the deferredRender, the grid elements are not rendered. So the actual issue is the grid isn't rendering it's rows when it is hidden.

Just curious, what is the reasoning behind forcing the render of the whole dataset even though it's not visible? Finding it hard to think of a use case for wanting to do so.

I know its kind of weired but its because I am showing some custom display fields in each row of grid depending upon the type of record.
These custom fields take a little time to get created and rendered making loading (not exactly loading but preparing view of grid with components) of grid slow.
I want to take loading time hit on the first time so that by the time user navigates from one tab to another all the fields have already been rendered by then.