Just a quick psuedocode example

Code:
Container: [Form.Panel]

Form.Panel: [FieldSet1, FieldSet2]

FieldSet1: [Container1, Container2, Container3, Container4]

Container1(hbox): [displayfield, label, displayfield]
(Just focus on Container1 for now, we don't need to know what's in the rest)

Now the two displayfields form a name (first/last) using the label as a spacer. The container they are in has a width, but they do not... the idea being they could expand or shrink to take advantage of the space as they need to.

When I load data into the form.panel the text in each of the displayfields changes, but their width (and therefore their position) doesn't change, leaving them where they are, with either giant gaps or overlapping text

My question then, there are a number of methods to force layout, are there any that bubble down? (if so how far, which components have it etc...) Do I need to refresh each component individually? (perhaps recursively drilling down?) or am I trying to do something EXTJS wasn't meant to do? (I can perhaps replicate the look by having just one displayfield and manipulating the data to make composite data, but that would be messy)