Paging & Sorting grids with ASP.Net MVC Paging & Sorting grids with ASP.Net MVC asp.net asp.net

Paging & Sorting grids with ASP.Net MVC


nowadays MVC 3 now has a webGrid out of the box. I know this question is from a while ago, but I ended up on it when looking for something about webGrid. So I thought it should have an answer mentioning the new webGrid.

Here are a few good posts on how to use it:

http://www.dotnetcurry.com/ShowArticle.aspx?ID=615

http://cnug.co.in/blogs/shijuv/archive/2010/10/08/using-the-webgrid-helper-in-asp-net-mvc-3-beta.aspx

http://www.nickharris.net/tag/webgrid/

It supports sorting, paging and also some Ajax stuff. It can do lot for you already, but you can also specify every separate column separately.

Update:
There are also many JavaScript libraries available that can do the table for you. I personally like to use DataTables. You can feed it an existing html table generated on the server or give it an endpoint where it can retrieve the data (all or just one page).

There are plenty more, just Google around.


Your can use the same controller, just add an additional parameter and name it sort. Then check in the controller what value sort has, and sort your data based on that parameter.

Or if you want to do things on the client side, you can use something like tablesorter, a plugin for jquery.


With MVC you sort of have to roll your own sorting, paging, etc. I would suggest YUI DataTable or some of the other JavaScript Grids out there.

Also if you find your self doing heavy Data Grid work you may want to take a look at ASP.NET Dynamic Data, it is specifically designed for these types of interactions against ORM's.