コード例 #1
0
        /*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
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
        }