Предполагая, что страницы и строки начинаются с 1, а количество страниц на странице фиксировано (скажем, 10), вам нужно преобразовать номер страницы и строку в индекс следующим образом:
Page 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 ...
Row 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 ...
↓
Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
Код:
int page = 2;
int row = 2;
int rowsPerPage = 10;
IEnumerable<MyClass> source = ...
MyClass result = source.ElementAt((page - 1) * rowsPerPage + (row - 1));
Таким образом, чтобы получить строку 2 на странице 2, вам нужно пропустить первую страницу (10 элементов) и затем взять второй элемент (индекс 1 на этой странице).