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.
>
>

Reply via email to