PDA

View Full Version : RowExpander on a TabPanel



tangix
8 Sep 2010, 11:12 PM
Trying to find a solution to this by searching the forums and FAQ I have tried various refresh techniques but in vain.
I have a GridPanel with RowExpander extension that is part of a stateful TabPanel. Refreshing the page with the tab containing the Grid active and all is well - the expander works fine. Refreshing the page with another tab selected and then switching to the Grid tab, the expand does not work, the -/+ icon is toggled, but the information is not shown (needed the lazyRender: false statement to get the expander to work at all):


var message_details = new Ext.ux.grid.RowExpander({
lazyRender: false,
tpl : new Ext.Template(
'<div style="width: 550px; padding-left: 25px; padding-top: 5px; padding-bottom: 5px;">{msg}<br>{attachment}</div>'
)
});
I have tried adding a refresh as indicated in the TabPanel FAQ to the TabPanel:

listeners: {
tabchange: function(tp,newTab){
var um = newTab.getUpdater();
if(um) um.refresh();
}
}, But this did not help....

When I added "deferredRender: true" to the TabPanel all is well, but it takes forever to load the TabPanel as there are several Tabs with information that is loaded with AJAX and put into other Grid (without RowExpander). I have tried adding deferredRender to the Tab containing the RowExpander but that does not work on a per-Tab basis.

Can I do something else to render the Tab with the RowExpander before it is show to work-around the issue or am I missing something else?

/msa