/// <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); }
/// <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)); }