If you are paging by 10 items per page and you are on page 3 and you change the page size via a drop down to page by 30, do you start again at page 1 or do you stay at page 3 with a new page size?
My experience is that an user would like to see the first line remain the same. Leave the first 10 as the first 10. Don't go to page 1 and move the old page 3 to the bottom.
I do this even if it is not on an even multiple of 30. If they were on 51-60 I take them to 51-80. Users have told us this is the behavior they like. And also keep the same row selected.
So even if the row was off the screen the same first row and scroll the selected row into view.
If you go to less rows per page then it get a little more complex still the same principle. First row is first row of the set and same row selected and in view.
I know this is UX but in WPF with virtulization you can have 10,000 rows and still deliver great performance.
Here is where it gets complex. It is dynamic data going to a database and data may not sort the same.
This is difficult, and the implementations vary a lot. But changing the view, as the user are doing you have two options that could work - and a third that would be terrible.
1) You need to display the same items that was displayed before, so the user can pick up on item number 21-30. You don't really know if the user changed view reading at item 21 or item 30. So you need to let the user see items 21 through 30 again. Now if the user was viewing items 51-60 and changed from 10-item paging to 30-item paging you would have to redirect the user to page 2.
2) Redirect the user to page 1 at the top - everytime. This is the standard behaviour I've seen on almost every e-commerce site. It's not as good as option 1, but the user definately knows what's happening. It starts over.
3) Keep the paging number regardless of which item-view the user choses. Not really an option, but I've seen it happen on rare occations. Just don't.
So this is the basics. But what if we extended option 1 to highlight where the user was? What if we set a different background color on those items previously viewsed, and the user would quickly recognize herself in the new context. "Ah, there are my items 21 through 30 again, so I'll pick up from there". I havn't seen this done, so I'd be delighted to see if you did this as a test.