示例#1
0
    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>);
        }
    }
示例#2
0
    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();
        }
    }