It's not question of the .net code, it's a question of how the data is structured and queried. Are you trying to use any complex joins? Do you have covering indexes? Do you really need to retrieve all 100000 at once? This seems extremely excessive for a mobile application.
If you have a Next, Previous button you should be having PageIndexChange event for that GridView. In that event handler you need to "rebind" the data with filter condion that has already been selected. So you need to Save the select query too (using any session management technique ie. ViewState, Hidden field, session variable per your requirement.