This covers the basics of doing work in response to paging operations:
However, that's probably not what you need in this case - this sounds more like you just want a lazy loading data provider - the fact that the UI is using a paging control does not really matter, you'd want the same behaviour with a scroll-on-more as well.
Typically this would involve having a REST service on the backend that supports paginated access - usually supported by URL params such as limit, fetchSize and startIndex - using the common model it's possible to set things up so that you initially just pull down a restricted set of rows but as the user carries out operations in the UI that need more rows then the Data Provider automatically gets asked for more data and it will construct and execute the correct REST request to make that happen.
I have done this in a project I'm working on. There are two solutions:
The first one assumes that you use the built-in ajax engine, so this is accomplished extending a Model.Collection and handling a "customURL" and customPagingOptions.
If you want to handle your own ajax calls via jQuery or a third party library, in this case you need an observable array, an ArrayDataProvider and a PagingDataProviderView. In the latter is where you add the "page" event listener, but it's kindda tricky thou. Email me if you need the whole code.