/*Server pagination with server option like server filteration and server sorting i.e serverFiltering: true, serverSorting: true,*/ public JsonResult GetAllWithServerOptions(int skip, int take, int page, int pageSize, string group) { var sorterCollection = KendoGridSorterCollection.BuildCollection(Request); var filterCollection = KendoGridFilterCollection.BuildCollection(Request); System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(startFolder); IEnumerable <System.IO.FileInfo> fileList = dir.GetFiles("*.*", System.IO.SearchOption.AllDirectories); IEnumerable <System.IO.FileInfo> fulllist = (from file in fileList select file); /*IEnumerable<System.IO.FileInfo> fullfileinfo = * (from file in fileList select file).Skip(skip).Take(take);*/ var list = fulllist.Select(x => new { text = x.Name, value = x.Name }); var filteredItems = list.MultipleFilter(filterCollection.Filters); var sortedItems = filteredItems.MultipleSort(sorterCollection.Sorters).ToList(); var count = sortedItems.Count(); var data = (from v in sortedItems.Skip((page - 1) * pageSize) .Take(pageSize) select v).ToList(); return(Json( new { File = data, TotalCount = count }, JsonRequestBehavior.AllowGet)); //alow get while using server grid }
public JsonResult GetJsonOutputForGridDataSelect(int?skip, int?take, int?page, int?pageSize, string group) { var sorterCollection = KendoGridSorterCollection.BuildCollection(Request); var filterCollection = KendoGridFilterCollection.BuildCollection(Request); JavaScriptSerializer jSerializer = new JavaScriptSerializer(); List <DemoVS4.Core.DAL.Product> List = ctx.Products.ToList(); var ListWitoutFK = List.Select(x => new { ProductID = x.ProductID, ProductName = x.ProductName, UnitPrice = x.UnitPrice, UnitsInStock = x.UnitsInStock, Discontinued = x.Discontinued, Category = x.Category, CreatedDate = x.CreatedDateTime }); var filteredItems = ListWitoutFK.MultipleFilter(filterCollection.Filters); var sortedItems = filteredItems.MultipleSort(sorterCollection.Sorters).ToList(); var count = sortedItems.Count(); if (page.HasValue) { var data = (from v in sortedItems.Skip((page.Value - 1) * pageSize.Value) .Take(pageSize.Value) select v).ToList(); return(Json( new { File = data, TotalCount = count }, JsonRequestBehavior.AllowGet)); } else { var data = (from v in sortedItems.Skip((1 - 1) * 5) .Take(5) select v).ToList(); return(Json( new { File = data, TotalCount = count }, JsonRequestBehavior.AllowGet)); } }
public ActionResult LoadStudents(int page, int pageSize, int take, bool?activeOnly) { var sorterCollection = KendoGridSorterCollection.BuildCollection(Request); var filterCollection = KendoGridFilterCollection.BuildCollection(Request); var students = (!(activeOnly ?? false)) ? StudentRepository.Students : StudentRepository.Students.Where(s => s.Active); var filteredStudents = students.MultipleFilter(filterCollection.Filters); var sortedStudents = filteredStudents.MultipleSort(sorterCollection.Sorters).ToList(); var count = sortedStudents.Count(); var data = (from v in sortedStudents.Skip((page - 1) * pageSize) .Take(pageSize) select v).ToList(); var jsonData = new { total = count, data }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); }