Using datatable.js with MVC helper and generic Entity Framework data result extension

Using datatable.js with MVC helper and generic Entity Framework data result extension

ekondurekondur Posts: 8Questions: 0Answers: 0

EFDatatable

What is EFDatatable?

EFDatatable is a helper to create a grid with Jquery Datatable and provides an extension to retrive data generically from Entity Framework context. It possible to use many datatable.js features with Html helper. It gives serverside or client side options.

@(Html.EF().GridFor<Person>()
        .Name("PersonGrid")
        .Searching(true)
        .Class("table table-striped")
        .Columns(cols =>
        {
            cols.Field(a => a.Id).Visible(true).Orderable(false).Searchable(true);
            cols.Field(a => a.Name).Title("First Name");
        })
        .Filters(filter =>
        {
            filter.Add(a => a.Id).GreaterThanOrEqual(1);
        })
        .URL(Url.Action("GetDataResult"), "POST")
        .ServerSide(true)
        .Render()
)

With "ToDataResult(request)" extension function, data can get with server side pagination very simply.

public JsonResult GetDataResult(DataRequest request)
    {
        DataResult result = context.People.ToDataResult(request);
        return Json(result);
    }

Where can I get it?

First, install NuGet. Then, install EFDatatable from the package manager console:

PM> Install-Package EFDatatable

Then add datatables.net Javascript and CSS files or links to your project.

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>

Replies

  • allanallan Posts: 61,740Questions: 1Answers: 10,111 Site admin

    Fantastic! Thanks for sharing this with us. I'm sure the community will find it very useful.

    Allan

This discussion has been closed.