I am trying to make a page which shows multiple instances of a view stacked on top of each other, and able to dynamically accordion each instance when clicked. Because the number of instances depends on user input, a Flex Repeater with a bound instances property seems like a natural fit. But I’m finding that I can’t control the size each instance takes up in the parent view.
The view in the repeater has a header and a body; when you click the header, you toggle the display of the body. I would expect that when the body of the first instance disappears, the second instance would move up the screen and be directly below the first instance’s header. Here’s a picture of how I was able to get it to look in ASP.NET, using bootstrap components and javascript.
Instead, the second instance stays right where it is, with the undisplayed portion of the first instance taking up the space it would have if it were being displayed.
I found a post on the forum ([Question] Collapsing and Expanding views in perspective) about manually coding the accordioning behavior by modifying a view’s basis when part of it is hidden, but that solution doesn’t appear to be available to the Flex Repeater. Even if I give each instance its own basis property, I can’t bind that to the basis of the instance so it updates when it changes. Or at least I don’t see a way to do so.
Is there a simpler way to get the effect I’m going for here? And if not, is there some way that I can make instances inside a Flex Repeater dynamically update their basis based on the properties of the view they contain?