How do you modify the dataProvider from within an ItemRenderer?
A reader of this blog, Kyle sent in this question to me:
I had spent about 3 months or so working on a DataSorter component that lets your users easily sort data in a manner similar to YouTube Playlists or the Blockbuster Online movie queue. I wasn't sure how much detail I wanted to give out to Kyle. But, after some thinking and some e-mails back and forth, I decided there is nothing too revolutionary about the concepts behind this. I expect people to buy my components because it saves them time and money when compared to building it themselves; not because I'm accomplishing the impossible.
This is how I'd approach something like this:
- Have your itemRenderer broadcast an event. In my situation, I did this based on a button click. Depending upon where you want to respond to the event, you may want the event to bubble.
- Add a listener function for that event.
- Modify the dataProvider in the listener function
Kyle was hoping I had some brilliant insight to automatically change the dataProvider upon that button click. I didn't. This is a general algorithm for swapping two items in a dataProvider:
- Save Item in Position 1 ( tempItem = AC.getItemAt(position1); )
- Set Item at Position 2 to Position 1's spot ( AC.setItemAt(getItemAt(Position2),position1); )
- Set saved Item to Position 2 spot ( AC.setItemAt(tempItem,Position2) )
To me, this seems like a pretty standard
This component will be part of the Flextras product line and should be launching soon.
I do like to answer reader questions. So, always feel free to contact me with them. I try to respond in a timely manner (although it doesn't always happen).




There are no comments for this entry.
[Add Comment]