How to force ExtJS 3.4 to render grid on hidden tabPanel

1.1k views Asked by At

I cannot find anything that specifically answers my question, so forgive me if this is a dupe.

I am working with ExtJs 3.4.x and am rendering a tabPanel with 7 tabs (Sunday - Saturday).

Each tab has an editorGridPanel (StartTime, EndTime) for a schedule.

The problem is that I need to validate the stores for the grids and apply or remove a class to mark individual cells as having errors (even when they are inactive and haven't been clicked/viewed yet).

When I do:

Ext.getCmp('...').getView().getCell(row, column);

I get an error claiming property 'dom' is undefined, not good.

If I try:

document.getElementById(gridId) 

in order to then do:

querySelectorAll(className);

I get 'undefined' on the getElementById()... which is not good.

How can I force everything that is configured in Ext to render in the DOM? I don't care about how fast or slow it loads, I need access to the data that I am validating whether or not the user has modified it.

TIA

1

There are 1 answers

0
XuYishen On BEST ANSWER
new Ext.TabPanel({
//..other configs
    deferredRender : false
})

use the "deferredRender " config to force render component