Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 2.61 KB

README.md

File metadata and controls

58 lines (46 loc) · 2.61 KB

#Kendo.DynamicLinq

Build Status

Note

Kendo UI Labs projects are experimental and largely built and supported by the community. As such Telerik does not provide official support for any of the Kendo UI Labs projects via Telerik support agreements. We do encourage you to open an issue or visit Stack Overflow.

Description

Kendo.DynamicLinq implements server paging, filtering, sorting and aggregating via Dynamic Linq.

Usage

  1. Add the Kendo.DynamicLinq NuGet package to your project.

  2. Configure your Kendo DataSource to send its options as JSON.

     parameterMap: function(options, type) {
         return JSON.stringify(options);
     }
    
  3. Configure the schema of the DataSource.

     schema: {
         data: "Data",
         total: "Total",
         aggregates: "Aggregates"
    
     }
    
  4. Import the Kendo.DynamicLinq namespace.

  5. Use the ToDataSourceResult extension method to apply paging, sorting and filtering.

     [WebMethod]
     public static DataSourceResult Products(int take, int skip, IEnumerable<Sort> sort, Filter filter, IEnumerable<Aggregator> aggregates)
     {
         using (var northwind = new Northwind())
         {
             return northwind.Products
                 .OrderBy(p => p.ProductID) // EF requires ordering for paging
                 // Use a view model to avoid serializing internal Entity Framework properties as JSON
                 .Select(p => new ProductViewModel
                 {
                     ProductID = p.ProductID,
                     ProductName = p.ProductName,
                     UnitPrice = p.UnitPrice,
                     UnitsInStock = p.UnitsInStock,
                     Discontinued = p.Discontinued
                 })
              .ToDataSourceResult(take, skip, sort, filter, aggregates);
         }
     }
    

Examples

The following examples use Kendo.DynamicLinq.