I have been trying to use Syncfusion EJS2 control (GRID) for server-side paging, sorting and filtering. I would like to know from Syncfusion, is there any way to do this?
If yes can they provide an example?
Note: We are using pure RESTful APIs not OData Service.
| public class OrdersController : Controller { public object Get() { var queryString = Request.Query; var data = OrdersDetails.GetAllRecords().ToList(); string sort = queryString["$orderby"]; //sorting query string filter = queryString["$filter"]; //filtering query // Sorting Action if (sort != null) { switch (sort) { case "OrderID": if (sort.Substring(sort.IndexOf(' ') + 1) != null) data = data.OrderByDescending(x => x.OrderID).ToList(); else data = data.OrderBy(x => x.OrderID).ToList(); break; . . . } } // Filtering Action if (filter != null) { var newfiltersplits = filter; var filtersplits = newfiltersplits.Split('(', ')', ' '); var filterfield = filtersplits[1]; var filtervalue = filtersplits[3]; switch (filterfield) { case "OrderID": data = (from cust in data where cust.OrderID.ToString() == filtervalue.ToString() select cust).ToList(); break; . . . } // Paging Action int skip = Convert.ToInt32(queryString["$skip"]); //paging query int take = Convert.ToInt32(queryString["$top"]); //paging query return take != 0 ? new { Items = data.Skip(skip).Take(take).ToList(), Count = data.Count() } : new { Items = data, Count = data.Count() }; } } |