If your client requires all data in one hit and to still have response from the application then the only methodology that springs to mind is multi-threading.
Load the data in a thread other than the application thread.
Here[
^] is some initial reading, in case you are not familiar with the subject. I have to say that I have never really got this to work satisfactorily, although I was only trying it out, not doing it for real.
Good luck! :)