Hi everyone,

I'm facing an unexpected behaviour of a TabNavigator that I think 
(watching the Flex framework sources) can be applied to the ViewStack 
too. Don't know if it's a bug, but any help is appreciated. I have a 
TabNavigator containing a few children. Every children has a DataGrid 
whose columns dataField, headerText, width and itemEditor are determined 
depending on the result of a server call. So I created the DataGrids 
without specifying the columns and tried to set this property using 
ActionScript, at runtime. I've set creationPolicy="all" so I can set all 
the columns with one call. Everything goes fine for the first tab (the 
visible one), but the others show columns with wrong widths: all the 
column but the last have a very small width, while the last one is very 
large.
Looking at the DataGrid code and using some trace statements I think I 
discovered what's happening: the hidden tabs (whose children instances 
are correctly "alive") have 0 width and 0 height. The updateDisplayList 
method of DataGrid instances finds that the DataGridColumns have an 
owner, but this owner is too little to fit the columns... so they are 
resized. When a tab becomes visible (though it doesn't dispatch the 
visible event!) the grid is resized and the last column becomes very large.
The same happens if I create an empty TabNavigator and add the children 
at runtime with the addChild method.
So: is it right that the freshly created children of a TabNavigator have 
0 width and 0 height? Shouldn't they have the same width and height of 
the visible tab even if hidden?
A possible workaround could be trying to listen for changes of the 
TabNavigator selectedIndex proeprty, but I have many forms with this 
kind of layout so I'd prefer to manage this strange behaviour working on 
the children. I created a DataGrid subclass who tries to set the columns 
at the right time, but the tab switching doesn't cause a event fire in 
the children (I expected a visible event, for instance)... so I can't 
find that "right time".
What do you think?

Thank you.

Regards,

Lorenzo


-- 
Lorenzo Benvenuti

Senior Programmer

Tagetik Software
Via Farnesi, 141
55100 Lucca

Tel. (+39)058396811
Fax. (+39)058391199

[EMAIL PROTECTED]
http://www.tagetik.com

Questo messaggio puo' contenere informazioni di carattere estremamente
riservato e confidenziale. Qualora non foste i destinatari, vogliate
immediatamente informarci con lo stesso mezzo ed eliminare il messaggio,
con gli eventuali allegati, senza trattenerne copia. Qualsivoglia
utilizzo non autorizzato del contenuto di questo messaggio costituisce
violazione dell'obbligo di non prendere cognizione della corrispondenza
tra altri soggetti, salvo piu' grave illecito, ed espone il responsabile
alle relative conseguenze civili e penali.
http://www.tagetik.it/azienda/privacy_form per cancellare o modificare il
profilo. Nel rispetto della vostra privacy
http://www.tagetik.it/azienda/privacy-policy-1 per visionare la nostra
policy.

This message is being sent from Tagetik  and may contain information
which is confidential or privileged. If you are not the intended
recipient, please advise the sender immediately by reply e-mail and
delete this message and any attachments without retaining a copy. Any
unauthorized use of the content of this message is a breach of your duty
to respect the confidentiality of the correspondence between other
persons and can expose the responsible party to civil and/or criminal
penalties, and may constitute a more serious offense.
http://www.tagetik.com/company/privacy_form?set_language=en to
unsubscribe or modify your profile. We respect your right to privacy -
http://www.tagetik.com/company/privacy-policy?set_language=en to view
our policy.

Reply via email to