Pager with rows per page selection
Name Surname Marital status Age Birthday Employed
Joe Crosswave Married 36 1/5/1988 False
Merry Lisel Widowed 46 5/6/1978
Pager with rows per page input
Name Surname Marital status Age Birthday Employed
Joe Crosswave Married 36 1/5/1988 False
Merry Lisel Widowed 46 5/6/1978
View

@model IQueryable<Person>

@(Html
    .Grid(Model)
    .Build(columns =>
    {
        columns.Add(model => model.Name).Titled("Name");
        columns.Add(model => model.Surname).Titled("Surname");
        columns.Add(model => model.MaritalStatus).Titled("Marital status");

        columns.Add(model => model.Age).Titled("Age");
        columns.Add(model => model.Birthday).Titled("Birthday").Formatted("{0:d}");
        columns.Add(model => model.IsWorking).Titled("Employed");
    })
    .Pageable(pager =>
    {
        pager.PageSizes = new Dictionary<Int32, String> { { 0, "All" }, { 2, "2" }, { 4, "4" } };
        pager.ShowPageSizes = true;
        pager.RowsPerPage = 2;
    })
)

View

@model IQueryable<Person>

@(Html
    .Grid(Model)
    .Build(columns =>
    {
        columns.Add(model => model.Name).Titled("Name");
        columns.Add(model => model.Surname).Titled("Surname");
        columns.Add(model => model.MaritalStatus).Titled("Marital status");

        columns.Add(model => model.Age).Titled("Age");
        columns.Add(model => model.Birthday).Titled("Birthday").Formatted("{0:d}");
        columns.Add(model => model.IsWorking).Titled("Employed");
    })
    .Pageable(pager =>
    {
        pager.ShowPageSizes = true;
        pager.PageSizes.Clear();
        pager.RowsPerPage = 2;
    })
)

Controller

[HttpGet]
public ViewResult Index()
{
    return View(Context.Set<Person>());
}