Add list.invalidateSize(), but only do it when you know something has
been added or removed.  You might be better off listening to the
dataProvider's collectionChange event.

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Seth Caldwell
Sent: Monday, November 05, 2007 11:06 AM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] problem with list component

 

No binding warnings, also 

 
updateComplete="list.verticalScrollPolicy=(list.dataProvider.length>list
.rowCount)?'on':'auto';"

 

produces the same effect - if you change the data once to have more
elements than can be displayed, the scrollbar is over the content. If
you change it a second time, then the scrollbar resizes appropriately.

 

 

Seth

 

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Alex Harui
Sent: Thursday, November 01, 2007 10:50 PM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] problem with list component

 

Did you get any binding warnings in the console?  I'm not clear it knows
how to wire up to that.  You might just need to run the equivalent in a
updateComplete event.

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Seth Caldwell
Sent: Thursday, November 01, 2007 4:17 PM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] problem with list component

 

verticalScrollPolicy="{(thelist.dataProvider.length>thelist.rowCount)?'o
n':'auto'}"

 

works, sort of. When the list data changes, I think the displaylist is
invalidated, redrawn, and then this binding action happens and
verticalScrollPolicy is set to 'on' ... but then the display list isn't
invalidated again, so you don't see the width appropriately change until
the next time the list data changes.

Kind of odd.

 

Alex - I'd assume that in the setter for verticalScrollPolicy the
display list needs to be invalidated again. This may be a bug, not sure.

 

Seth

 

 

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Seth Caldwell
Sent: Thursday, November 01, 2007 3:00 PM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] problem with list component

 

Oh, cool. I think I'll set verticalScrollPolicy to
{dataProvider.length()>rowCount?"on":"auto"}, so I don't have those
blank scrollbars present when they're not needed ;p

(haven't tested this yet, but hopefully it works)

Btw, in googling to find out what lockedRowCount and rowCount were, I
found your page ;)

http://blogs.adobe.com/aharui/2007/07/the_future_of_list_classes_tre.htm
l

Thanks for taking time to answer my simple question,

 

Seth

 

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Alex Harui
Sent: Thursday, November 01, 2007 1:56 PM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] problem with list component

 

If verticalScrollPolicy="auto" (default), the scrollbars are not
factored into the width so its appearance does not shift your UI.

 

If verticalScrollPolicy="on", the scrollbars are factored into the width

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Seth Caldwell
Sent: Thursday, November 01, 2007 11:46 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] problem with list component

 

 If you don't specify a width on a list, it then resizes itself to fit
the content - the list items. However, if you then add items to this
list causing it to require a scrollbar, the scrollbar does not increase
the total width as expected, but instead is placed over (and thus
hiding) the content the list previously was sized to. =(

Anyone ran into this and found a workaround?

 

Seth

 

Reply via email to