Hi Suraj,
It's in general bad UI design if you export what a user clicked three pages ago, since they won't recall what they did (typically, at least). However, I've dealt with such a requirement before (although not for exporting, if you want to export all, just have an "Export All" button). As I said, when refreshing the TableRecords widget, it rebinds to the source list. This means that any changes you want to keep when changing the page, you need to update in your original list.
The index of the first row in your TableRecords can be got using List_Navigation_GetStartIndex(). Next, you are going to loop over your TableRecords list, keeping track of the Index and copy whatever you need to copy to the original List using indexing (SourceList[Index].MyAttribute = TableRecords1.Current.MyAttribute etc.).
In your case, if you just want to set all records to checked, just loop over the source list, set the check boolean to True, and refresh the TableRecords