Sean's suggestion is indeed a more optimized approach - use the show
event of the view that you are loading to trigger the logic that updates the data in the view.
Sean, thank you for sharing your knowledge. A small advice would be to try and remove the following call from your code:
line should trigger a read()
method call for the dataSource internally. You may be doing two subsequent reads at the moment.