protected void ResourceDataGridView_PageChanged(object sender, EventArgs e) { ResourceDataGridView gridView = (ResourceDataGridView)sender; if (gridView.ID == ResourcesCited.ID) { RefreshResults(gridView, ResourcesCitedDataSource); } else if (gridView.ID == ResourcesToBeCited.ID) { RefreshResults(gridView, ResourcesToBeCitedDataSource); } else if (gridView.ID == ResourcesNotToBeCited.ID) { RefreshResults(gridView, ResourcesNotToBeCitedDataSource); } else if (gridView.ID == ResourcesNotToBeImported.ID) { RefreshResults(gridView, ResourcesNotToBeImportedDataSource); } else { RefreshResults(gridView, Session[gridView.ID] as ICollection <ScholarlyWork>); } }
private void RefreshResults(ResourceDataGridView grdView, ICollection <ScholarlyWork> sourceList) { IList resultList = null; int totalRecords = 0; int pageSize = 10; if (grdView != null) { if (sourceList == null) { return; } grdView.Visible = true; int fetchedRecords = pageSize * grdView.PageIndex; grdView.PageSize = pageSize; totalRecords = sourceList.Count; if (totalRecords > 0) { if (totalRecords < fetchedRecords) { resultList = null; } else { resultList = sourceList.Skip(fetchedRecords).Take(pageSize).ToList(); } } //Update page count if (totalRecords > 0) { if (pageSize > 0 && totalRecords > pageSize) { grdView.PageCount = Convert.ToInt32(Math.Ceiling((double)totalRecords / pageSize)); } else { grdView.PageCount = 1; } } else { grdView.PageCount = 0; } //Update ZentityGridView data source grdView.DataSource = resultList; grdView.SortDataSource(); grdView.DataBind(); } }