If you have taken the ArrayCollection as dataprovider, then instead of refresh, try dispatching collectionchange event.
On Thu, Mar 24, 2011 at 7:09 PM, Laurence MacNeill <[email protected]>wrote: > Well, setting the dataProvider to null than back again seems to work... > > Of course, if the list hasn't gotten short enough to prevent scrolling, the > scroll-position is reset back to zero... But that's a simple matter of > storing the current scroll-position in a variable, then re-setting the > data-provider, then restoring the scroll-position... Seems to work fine. > > But man, what a pain... Why a simple dataprovider.refresh() wouldn't do it > is just beyond me... > > L. > On Thu, Mar 24, 2011 at 6:50 PM, Vaibhav Seth > <[email protected]>wrote: > >> you can also try dispatching a CollectionChange event on the dataprovider, >> some time it works this way. >> So that you can avoid the flickering on the screen for that moment. >> >> >> On Thu, Mar 24, 2011 at 6:47 PM, Laurence MacNeill < >> [email protected]> wrote: >> >>> Oh, and to be clear, I'm not assigning a new data-provider to the List at >>> any time. I'm simply updating the data in the data-provider, then calling >>> the .refresh() method on it. >>> >>> Perhaps setting my data-provider to null, then back to the real >>> data-provider would fix it? I'm gonna give that a try, just for kicks. >>> >>> L. >>> >>> On Thu, Mar 24, 2011 at 6:40 PM, Laurence MacNeill < >>> [email protected]> wrote: >>> >>>> I agree, it *should* take care of the renderer. But it doesn't. Only >>>> if the item scrolls off the screen then back onto the screen later does it >>>> show the updates. It simply will not update if the item is on-screen. >>>> >>>> Re-sizing works, only if I can manage to re-size it enough to force the >>>> item not to appear on the screen anymore. Actually, it has to go a bit >>>> farther -- far enough for the item-renderer to be recycled. It's like the >>>> data simply is not updated until the item-renderer is recycled. Perhaps >>>> there's a way to force the item-renderer to be recycled, then? I don't >>>> know... >>>> >>>> L. >>>> >>>> On Thu, Mar 24, 2011 at 6:36 PM, Vaibhav Seth < >>>> [email protected]> wrote: >>>> >>>>> If I got you right, when the scroll goes off and you give the List a >>>>> new dataprovider, the updated data does not reflect in the List ? >>>>> That seems very strange, as when you are giving the new dataprovider it >>>>> should take care of the renderer. >>>>> >>>>> Did you tried resizing the application when the scroll goes off ? Does >>>>> the resizing brings back the updated data ? >>>>> >>>>> >>>>> On Thu, Mar 24, 2011 at 6:27 PM, Eric DeCoff <[email protected]>wrote: >>>>> >>>>>> Laurence, >>>>>> >>>>>> Take a look at my datagrid render itemrender from 4.5 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Mar 24, 2011 at 5:36 PM, Laurence MacNeill < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Maybe y'all can help me here... I've been banging my head against >>>>>>> the wall for hours on this stupid thing, and I can't seem to figure it >>>>>>> out... >>>>>>> >>>>>>> I have a spark Panel which contains a spark List. The List scrolls >>>>>>> automatically -- no user interaction required, as this is a simple app >>>>>>> that's just being used on a large display-screen at a convention center. >>>>>>> It's displaying a list of upcoming events, and that list needs to be >>>>>>> updated >>>>>>> every so often (you know, if an event has sold out or been cancelled or >>>>>>> whatever) so I'm updating the data in the List's dataProvider every 3 >>>>>>> minutes. >>>>>>> >>>>>>> As the day goes on, the list gets shorter and shorter -- events that >>>>>>> are in the past are removed from the dataProvider because the database >>>>>>> query >>>>>>> excludes events that started more than 15 minutes ago. >>>>>>> >>>>>>> When the list is short enough, there is no more scrolling. There's >>>>>>> enough room to display all the events without the list automatically >>>>>>> scrolling. THAT is when the problem occurrs -- the custom item-renderer >>>>>>> stops updating, because it's not scrolling off the screen anymore... >>>>>>> Even >>>>>>> though I'm calling the .refresh() method on the List's data-provider, >>>>>>> it's >>>>>>> not updating the renderers that are already being rendered on the >>>>>>> screen. >>>>>>> >>>>>>> So. How to I make it update those renderers that are already on the >>>>>>> screen? I've tried about 20 different suggestions that I found on >>>>>>> Google (my own custom-written invalidateListDisplay function since a >>>>>>> Flex 4 >>>>>>> List doesn't have one, using the List.dataProvider.itemUpdated() thingy, >>>>>>> setting the List's itemRenderer = null then back to the custom >>>>>>> itemRenderer >>>>>>> again both with and without a validateNow() call in there, using the >>>>>>> updateRenderer() method, etc., etc..) I've tried them all, and NOTHING >>>>>>> has >>>>>>> worked. >>>>>>> >>>>>>> I've really got to get this figured out soon. It's for a live show >>>>>>> that's happening right now. >>>>>>> >>>>>>> Thanks, >>>>>>> Laurence MacNeill >>>>>>> Mableton, Georgia, USA >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Eric R. DeCoff >>>>>> Changing the world, >>>>>> 1 line of code at a time >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks, >>>>> Vaibhav Seth. >>>>> >>>>> >>>> >>> >> >> >> -- >> Thanks, >> Vaibhav Seth. >> >> > -- Thanks, Vaibhav Seth.
