flex - How to keep a list from scrolling on dataProvider refresh/update/change? -
i have simple list , background refresh protocol.
when list scrolled down, refresh scrolls top. want stop this.
i have tried catching collection_change event ,
validatenow(); // try component reset new data list.ensureindexisvisible(previousindex); // actually, search previous data id in ilist, that's not important
this fails because list resets after change (in datagroup.commitproperties).
i hate use timer, enter_frame, or calllater(), cannot seem figure out way.
the other alternatives can see sub-classing list can catch dataproviderchanged event datagroup in skin throwing.
any ideas?
i ll try explain approach...if still unsure let me know , ll give source code well.
1) create variable store current scroll position of viewport. 2) add event listener event.change , mouseevent.mouse_wheel on scroller , update variable created in step 1 current scroll position; 3) add event listener on viewport flexevent.updatecomplete , set scroll position variable stored.
in nutshell, doing have scroll position stored in variable every time user interacts , when our viewport updated (due dataprovider change) set scroll position have stored in variable.
Comments
Post a Comment