コード例 #1
0
        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);
        }
コード例 #2
0
        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()
            });
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public static KendoGridResult <T> ParseGridData <T>(IQueryable <T> collection, KendoGridPost requestParams)
 {
     return(ReturnGridData <T>(requestParams, ref collection));
 }