public JsonResult CategoryReadWithParamForFilter(KendoGridPost request) { var categories = GetCategories().AsQueryable(); //List<Category> models = GetCategories(); //var models = GetCategories(); var models = KendoUiHelper.ParseGridData<Category>(categories, request); return Json(models, JsonRequestBehavior.AllowGet); //return Json(models); }
private static KendoGridResult <T> ReturnGridData <T>(KendoGridPost requestParams, ref IQueryable <T> collection) { List <T> gridData = new List <T>(); try { //If only paging var skipCollection = collection.Skip(requestParams.Skip).Take(requestParams.PageSize).ToList().AsQueryable(); //If the sort Order is provided perform a sort on the specified column if (requestParams.SortOrd.IsNotEmpty()) { //var sortCollection = Sort<T>(collection, requestParams.SortOn, requestParams.SortOrd); var sortCollection = Sort <T>(skipCollection, requestParams.SortOn, requestParams.SortOrd); //If sort and paging //gridData = sortCollection.Skip(requestParams.Skip).Take(requestParams.PageSize).ToList(); gridData = sortCollection.ToList(); } if (requestParams.FilterField.IsNotEmpty() && requestParams.FilterOperator.IsNotEmpty() && requestParams.FilterValue.IsNotEmpty()) { //var filterCollection = Filter<T>(collection, requestParams.FilterField, requestParams.FilterOperator, requestParams.FilterValue); var filterCollection = Filter <T>(skipCollection, requestParams.FilterField, requestParams.FilterOperator, requestParams.FilterValue); //If sort and paging //gridData = filterCollection.Skip(requestParams.Skip).Take(requestParams.PageSize).ToList(); gridData = filterCollection.ToList(); } //else //{ // //If only paging // //gridData = collection.Skip(requestParams.Skip).Take(requestParams.PageSize).ToList(); // //gridData = skipCollection.ToList(); //} } catch { } return(new KendoGridResult <T> { Data = gridData.Count > 0 ? gridData : collection.ToList(), Total = collection.Count() }); }
public JsonResult ProductReadWithParam(KendoGridPost request) { var products = GetProducts().AsQueryable(); //List<Product> models = GetProducts(); //var models = GetProducts(); var models = KendoUiHelper.ParseGridData<Product>(products, request); return Json(models, JsonRequestBehavior.AllowGet); //return Json(models); }
public static KendoGridResult <T> ParseGridData <T>(IQueryable <T> collection, KendoGridPost requestParams) { return(ReturnGridData <T>(requestParams, ref collection)); }