示例#1
0
        /// <summary>
        /// Gets the list of data for use by the jqgrid plug-in
        /// </summary>
        public IActionResult OnGetGridData(string sidx, string sord, int _page, int rows, bool isforJqGrid = true)
        {
            int totalRecords  = CourseEnrollment.GetRecordCount();
            int startRowIndex = ((_page * rows) - rows);
            List <CourseEnrollment> objCourseEnrollmentCol = CourseEnrollment.SelectSkipAndTake(rows, startRowIndex, sidx + " " + sord);
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);

            if (objCourseEnrollmentCol is null)
            {
                return(new JsonResult("{ total = 0, page = 0, records = 0, rows = null }"));
            }

            var jsonData = new
            {
                total = totalPages,
                _page,
                records = totalRecords,
                rows    = (
                    from objCourseEnrollment in objCourseEnrollmentCol
                    select new
                {
                    id = objCourseEnrollment.EnrollmentId,
                    cell = new string[] {
                        objCourseEnrollment.EnrollmentId.ToString(),
                        objCourseEnrollment.CourseName.ToString(),
                        objCourseEnrollment.StudentName.ToString(),
                        objCourseEnrollment.Comments
                    }
                }).ToArray()
            };

            return(new JsonResult(jsonData));
        }
        public void GetData(string sidx, string sord, int?_page)
        {
            int rows = Functions.GetGridNumberOfRows();
            int numberOfPagesToShow = Functions.GetGridNumberOfPagesToShow();
            int currentPage         = _page is null ? 1 : Convert.ToInt32(_page);
            int startRowIndex       = ((currentPage * rows) - rows);
            int totalRecords        = CourseEnrollment.GetRecordCount();
            int totalPages          = (int)Math.Ceiling((float)totalRecords / (float)rows);
            List <CourseEnrollment> objCourseEnrollmentCol = CourseEnrollment.SelectSkipAndTake(rows, startRowIndex, sidx + " " + sord);

            // fields and titles
            string[,] fieldNames = new string[, ] {
                { "EnrollmentId", "Enrollment Id" },
                { "CourseName", "Course Name" },
                { "StudentName", "Student Name" },
                { "Comments", "Comments" }
            };

            // assign properties
            CourseEnrollmentData       = objCourseEnrollmentCol;
            CourseEnrollmentFieldNames = fieldNames;
            TotalPages           = totalPages;
            CurrentPage          = currentPage;
            FieldToSort          = String.IsNullOrEmpty(sidx) ? "EnrollmentId" : sidx;
            FieldSortOrder       = String.IsNullOrEmpty(sord) ? "asc" : sord;
            FieldToSortWithOrder = String.IsNullOrEmpty(sidx) ? "EnrollmentId" : (sidx + " " + sord).Trim();
            NumberOfPagesToShow  = numberOfPagesToShow;
            StartPage            = Functions.GetPagerStartPage(currentPage, numberOfPagesToShow, totalPages);
            EndPage = Functions.GetPagerEndPage(StartPage, currentPage, numberOfPagesToShow, totalPages);
        }
示例#3
0
    /// <summary>
    /// Shows how to get a specific number of sorted records, starting from an index.  The total number of records are also retrieved when using the SelectSkipAndTake() method.
    /// For example, if there are 200 records take only 10 records (numberOfRecordsToRetrieve), starting from the first index (startRetrievalFromRecordIndex = 0)
    /// The example below uses some variables, here are their definitions:
    /// totalRecordCount - total number of records if you were to retrieve everything
    /// startRetrievalFromRecordIndex - the index to start taking records from. Zero (0) E.g. If you want to skip the first 20 records, then assign 19 here.
    /// numberOfRecordsToRetrieve - take n records starting from the startRetrievalFromRecordIndex
    /// sortBy - to sort in Ascending order by Field Name, just assign just the Field Name, do not pass 'asc'
    /// sortBy - to sort in Descending order by Field Name, use the Field Name, a space and the word 'desc'
    /// </summary>
    private void SelectSkipAndTake()
    {
        int    startRetrievalFromRecordIndex = 0;
        int    numberOfRecordsToRetrieve     = 10;
        string sortBy = "EnrollmentId";
        //string sortBy = "EnrollmentId desc";

        // 1. select a specific number of sorted records starting from the index you specify
        List <CourseEnrollment> objCourseEnrollmentCol = CourseEnrollment.SelectSkipAndTake(numberOfRecordsToRetrieve, startRetrievalFromRecordIndex, sortBy);

        // to use objCourseEnrollmentCol please see the SelectAll() method examples
        // No need for Examples 1 and 2 because the Collection here is already sorted
        // Example 2:  directly bind to a GridView - for ASP.NET Web Forms
        // Example 3:  loop through all the CourseEnrollment(s).  The example above will only loop for 10 items.
    }
        /// <summary>
        /// Gets the list of data for use by the jqgrid plug-in
        /// </summary>
        public IActionResult OnGetGridDataGroupedByCourseName(string sidx, string sord, int _page, int rows)
        {
            // using a groupField in the jqgrid passes that field
            // along with the field to sort, remove the groupField
            string groupBy = "CourseName asc, ";

            sidx = sidx.Replace(groupBy, "");

            int totalRecords  = CourseEnrollment.GetRecordCount();
            int startRowIndex = ((_page * rows) - rows);

            List <CourseEnrollment> objCourseEnrollmentCol = CourseEnrollment.SelectSkipAndTake(rows, startRowIndex, sidx + " " + sord);
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);

            if (objCourseEnrollmentCol is null)
            {
                return(new JsonResult("{ total = 0, page = 0, records = 0, rows = null }"));
            }

            var jsonData = new
            {
                total = totalPages,
                _page,
                records = totalRecords,
                rows    = (
                    from objCourseEnrollment in objCourseEnrollmentCol
                    select new
                {
                    id = objCourseEnrollment.EnrollmentId,
                    cell = new string[] {
                        objCourseEnrollment.EnrollmentId.ToString(),
                        objCourseEnrollment.CourseName.ToString(),
                        objCourseEnrollment.StudentName.ToString(),
                        objCourseEnrollment.Comments,
                        objCourseEnrollment.CourseNameNavigation.CourseName
                    }
                }).ToArray()
            };

            return(new JsonResult(jsonData));
        }