Paginação e ordenação de resultado de pesquisa

Oi pessoal!
Gostaria de saber como vcs criam a ordenação do resultado de uma pesquisa quando a paginação é feita no lado da aplicação.

Vejam este exemplo:

http://postimage.org/image/115vdjxwk/

Reparem que o resultado possui 11 páginas, e ao lado existe um combobox para o usuário selecionar o tipo de ordenação por relevância(maior valor, menor valor, etc). Ao escolher o tipo de ordenação, o resultado da pesquisa inteiro é reordenado da primeira à última página.
Pelo que eu sei, isto é possível usando JQuery, a aplicação manda a lista inteira para a view e o JQuery se encarrega de paginar, e quando a ordenação é escolhida, ele reorganiza o resultado inteiro.

Agora vêm o problema, no caso de uma paginação que não seja feita com JQuery, mas sim pela aplicação, como seria possível reorganizar todo o resultado da pesquisa (1.000 itens por exemplo) se na view existe apenas 1 página com 10 itens e os outros itens sequer foram carregados?

Eu consigo paginar das duas formas, mas ainda não descobri o “pulo do gato” para reordenar toda a pesquisa quando a paginação na view possui apenas os itens enviados pelo controller.

É possível fazer isto, ou o que o print mostra é paginação e ordenação apenas por JQuery?
Outra questão, se essa aplicação do print está mandando todos os itens para a view e deixando o JQuery tomar conta de td, não seria uma prática não recomendada para paginação?

Abraço!!