You need to create a server side call (GET) to provide a portion of the table. It needs to understand (1) the sort order (2) page that is requested and page size. You can accomplish this will an index
method that looks for parameters and something like will_paginate
(although there are many plugins to help with this).
On the client side, with jQuery, you simply need to handle all the clicks the user might make. For example, if they can sort by clicking on a column label, attach a click handler to it and make a new server request for the data. You can write a single Javascript method to do this, but you need to figure out how you represent page number, sort etc. in Javascriptland.
Implementing "filters" is just an extension to this. I don't know exactly how you want the UI to work, but it is another input into your server-side call.
Ryan Bates has a few railscasts that will help with all aspects of this, but I don't know of one that combines it all.
Just take it one step at a time...