Exemple #1
0
        /// <summary>建立子控件</summary>
        protected override void CreateChildControls()
        {
            // 当且仅当总记录数TotalRowCount准备好之后才创建子控件
            if (TotalRowCount <= 0)
            {
                return;
            }

            Controls.Clear();

            IPagedDataSource pagedDataSource = this;

            PagerSettings pagerSettings = PagerSettings;

            if (PagerTemplate != null)
            {
                // 分页模版输出
                DataPagerItem item = new DataPagerItem();
                PagerTemplate.InstantiateIn(item);

                Controls.Add(item);

                // 必须在加入Controls后再绑定,否则会因为没有关联Page而失败
                // 每次完成创建子控件后马上绑定
                item.DataItem = this;
                item.DataBind();
                item.DataItem = null;
            }
            else
            {
                // 分页控件输出
                Table    child = new Table();
                TableRow row2  = new TableRow();
                switch (pagerSettings.Mode)
                {
                case PagerButtons.NextPrevious:
                    CreateNextPrevPager(row2, pagedDataSource, false);
                    break;

                case PagerButtons.Numeric:
                    CreateNumericPager(row2, pagedDataSource, false);
                    break;

                case PagerButtons.NextPreviousFirstLast:
                    CreateNextPrevPager(row2, pagedDataSource, true);
                    break;

                case PagerButtons.NumericFirstLast:
                    CreateNumericPager(row2, pagedDataSource, true);
                    break;
                }

                child.Rows.Add(row2);
                Controls.Add(child);
            }
        }
Exemple #2
0
        public virtual IPagedDataSource Create(ExportDataQuery dataQuery)
        {
            IPagedDataSource result = null;

            if (dataQuery is CustomerReviewExportDataQuery customerReviewExportDataQuery)
            {
                result = new CustomerReviewExportPagedDataSource(_searchService, _customerReviewService, _itemService, _blobUrlResolver, customerReviewExportDataQuery);
            }

            return(result ?? throw new ArgumentException($"Unsupported export query type: {dataQuery.GetType().Name}"));
        }
Exemple #3
0
        public virtual IPagedDataSource Create(ExportDataQuery dataQuery)
        {
            IPagedDataSource result = null;

            if (dataQuery is PriceExportDataQuery priceExportDataQuery)
            {
                result = new PriceExportPagedDataSource(_searchService, _pricingService, _itemService, priceExportDataQuery);
            }
            else if (dataQuery is PricelistAssignmentExportDataQuery pricelistAssignmentExportDataQuery)
            {
                result = new PricelistAssignmentExportPagedDataSource(_searchService, _pricingService, _catalogService, pricelistAssignmentExportDataQuery);
            }
            else if (dataQuery is PricelistExportDataQuery pricelistExportDataQuery)
            {
                result = new PricelistExportPagedDataSource(_searchService, _pricingService, pricelistExportDataQuery);
            }

            return(result ?? throw new ArgumentException($"Unsupported export query type: {dataQuery.GetType().Name}"));
        }
Exemple #4
0
        public Task MultipleDataSources_Paging_Valid(int skip, int take, string expectedResult)
        {
            // Arrange
            var dataSources = new IPagedDataSource[] {
                new TestPagedDataSource(CreatedSearchServiceMock(new string[] { "1", "2", "3" }).Object, new TestExportDataQuery()),
                new TestPagedDataSource(CreatedSearchServiceMock(new string[] { "4", "5", "6" }).Object, new TestExportDataQuery()),
                new TestPagedDataSource(CreatedSearchServiceMock(new string[] { "7" }).Object, new TestExportDataQuery()),
                new TestPagedDataSource(CreatedSearchServiceMock(new string[] { "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" }).Object, new TestExportDataQuery()),
                new TestPagedDataSource(CreatedSearchServiceMock(new string[] { "21", "22" }).Object, new TestExportDataQuery()),
            };

            // Act
            var items  = dataSources.GetItems(skip, take);
            var result = string.Join(',', items.Select(x => x.Id));

            // Assert
            Assert.Equal(expectedResult, result);

            return(Task.CompletedTask);
        }
        public virtual IPagedDataSource Create(ExportDataQuery dataQuery)
        {
            IPagedDataSource result = null;

            if (dataQuery is PropertyExportDataQuery propertyExportQuery)
            {
                result = new PropertyExportPagedDataSource(_propertyService, propertyExportQuery);
            }
            else if (dataQuery is PropertyDictionaryItemExportDataQuery propDictExportQuery)
            {
                result = new PropertyDictionaryItemExportPagedDataSource(_propertyDictionaryItemSearchService, propDictExportQuery);
            }
            else if (dataQuery is ProductFullExportDataQuery productFullExportQuery)
            {
                result = new ProductExportPagedDataSource(_blobStorageProvider, _itemService, _catalogSearchService, _blobUrlResolver, productFullExportQuery.ToProductExportDataQuery());
            }
            else if (dataQuery is CategoryExportDataQuery categoryExportQuery)
            {
                result = new CategoryExportPagedDataSource(_catalogSearchService, _categoryService, _blobStorageProvider, categoryExportQuery);
            }
            else if (dataQuery is CatalogExportDataQuery catalogExportQuery)
            {
                result = new CatalogExportPagedDataSource(_catalogSearchService, catalogExportQuery);
            }
            else if (dataQuery is ProductExportDataQuery productExportQuery)
            {
                result = new ProductExportPagedDataSource(_blobStorageProvider, _itemService, _catalogSearchService, _blobUrlResolver, productExportQuery);
            }
            else if (dataQuery is CatalogFullExportDataQuery catalogFullExportDataQuery)
            {
                result = new CatalogFullExportPagedDataSource(this, catalogFullExportDataQuery);
            }

            if (result == null)
            {
                throw new ArgumentException($"Unsupported export query type: {dataQuery.GetType().Name}");
            }
            return(result);
        }
Exemple #6
0
        private void CreateNumericPager(TableRow row, IPagedDataSource pagedDataSource, bool addFirstLastPageButtons)
        {
            LinkButton    button;
            PagerSettings pagerSettings           = PagerSettings;
            int           pageCount               = pagedDataSource.PageCount;
            int           num2                    = pagedDataSource.PageIndex + 1;
            int           pageButtonCount         = pagerSettings.PageButtonCount;
            int           num4                    = pageButtonCount;
            Int32         FirstDisplayedPageIndex = 0;
            int           num5                    = FirstDisplayedPageIndex + 1;

            if (pageCount < num4)
            {
                num4 = pageCount;
            }
            int num6      = 1;
            int pageIndex = num4;

            if (num2 > pageIndex)
            {
                int  num8 = pagedDataSource.PageIndex / pageButtonCount;
                bool flag = ((num2 - num5) >= 0) && ((num2 - num5) < pageButtonCount);
                if ((num5 > 0) && flag)
                {
                    num6 = num5;
                }
                else
                {
                    num6 = (num8 * pageButtonCount) + 1;
                }
                pageIndex = (num6 + pageButtonCount) - 1;
                if (pageIndex > pageCount)
                {
                    pageIndex = pageCount;
                }
                if (((pageIndex - num6) + 1) < pageButtonCount)
                {
                    num6 = Math.Max(1, (pageIndex - pageButtonCount) + 1);
                }
                FirstDisplayedPageIndex = num6 - 1;
            }
            if ((addFirstLastPageButtons && (num2 != 1)) && (num6 != 1))
            {
                IButtonControl control;
                TableCell      cell = new TableCell();
                row.Cells.Add(cell);
                string firstPageImageUrl = pagerSettings.FirstPageImageUrl;
                if (firstPageImageUrl.Length > 0)
                {
                    control = new DataControlImageButton(this);
                    ((DataControlImageButton)control).ImageUrl      = firstPageImageUrl;
                    ((DataControlImageButton)control).AlternateText = HttpUtility.HtmlDecode(pagerSettings.FirstPageText);
                    ((DataControlImageButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                else
                {
                    control = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control).Text = pagerSettings.FirstPageText;
                    ((DataControlPagerLinkButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                control.CommandName     = "Page";
                control.CommandArgument = "First";
                cell.Controls.Add((Control)control);
            }
            if (num6 != 1)
            {
                TableCell cell2 = new TableCell();
                row.Cells.Add(cell2);
                button                 = new DataControlPagerLinkButton(this);
                button.Text            = "...";
                button.CommandName     = "Page";
                button.CommandArgument = (num6 - 1).ToString(NumberFormatInfo.InvariantInfo);
                ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(num6 - 2));
                cell2.Controls.Add(button);
            }
            for (int i = num6; i <= pageIndex; i++)
            {
                TableCell cell3 = new TableCell();
                row.Cells.Add(cell3);
                string str2 = i.ToString(NumberFormatInfo.InvariantInfo);
                if (i == num2)
                {
                    Label child = new Label();
                    child.Text = str2;
                    cell3.Controls.Add(child);
                }
                else
                {
                    button                 = new DataControlPagerLinkButton(this);
                    button.Text            = str2;
                    button.CommandName     = "Page";
                    button.CommandArgument = str2;
                    ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(i - 1));
                    cell3.Controls.Add(button);
                }
            }
            if (pageCount > pageIndex)
            {
                TableCell cell4 = new TableCell();
                row.Cells.Add(cell4);
                button                 = new DataControlPagerLinkButton(this);
                button.Text            = "...";
                button.CommandName     = "Page";
                button.CommandArgument = (pageIndex + 1).ToString(NumberFormatInfo.InvariantInfo);
                ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(pageIndex));
                cell4.Controls.Add(button);
            }
            bool flag2 = pageIndex == pageCount;

            if ((addFirstLastPageButtons && (num2 != pageCount)) && !flag2)
            {
                IButtonControl control2;
                TableCell      cell5 = new TableCell();
                row.Cells.Add(cell5);
                string lastPageImageUrl = pagerSettings.LastPageImageUrl;
                if (lastPageImageUrl.Length > 0)
                {
                    control2 = new DataControlImageButton(this);
                    ((DataControlImageButton)control2).ImageUrl      = lastPageImageUrl;
                    ((DataControlImageButton)control2).AlternateText = HttpUtility.HtmlDecode(pagerSettings.LastPageText);
                    ((DataControlImageButton)control2).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                else
                {
                    control2 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control2).Text = pagerSettings.LastPageText;
                    ((DataControlPagerLinkButton)control2).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                control2.CommandName     = "Page";
                control2.CommandArgument = "Last";
                cell5.Controls.Add((Control)control2);
            }
        }
Exemple #7
0
        ///// <summary>
        ///// 已重写。保证创建子控件
        ///// </summary>
        //public override ControlCollection Controls
        //{
        //    get
        //    {
        //        this.EnsureChildControls();
        //        return base.Controls;
        //    }
        //}
        #endregion

        #region 四种分页
        private void CreateNextPrevPager(TableRow row, IPagedDataSource pagedDataSource, bool addFirstLastPageButtons)
        {
            PagerSettings pagerSettings        = PagerSettings;
            string        previousPageImageUrl = pagerSettings.PreviousPageImageUrl;
            string        nextPageImageUrl     = pagerSettings.NextPageImageUrl;
            bool          isFirstPage          = pagedDataSource.IsFirstPage;
            bool          isLastPage           = pagedDataSource.IsLastPage;

            if (addFirstLastPageButtons && !isFirstPage)
            {
                IButtonControl control;
                TableCell      cell = new TableCell();
                row.Cells.Add(cell);
                string firstPageImageUrl = pagerSettings.FirstPageImageUrl;
                if (firstPageImageUrl.Length > 0)
                {
                    control = new DataControlImageButton(this);
                    ((DataControlImageButton)control).ImageUrl      = firstPageImageUrl;
                    ((DataControlImageButton)control).AlternateText = HttpUtility.HtmlDecode(pagerSettings.FirstPageText);
                    ((DataControlImageButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                else
                {
                    control = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control).Text = pagerSettings.FirstPageText;
                    ((DataControlPagerLinkButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                control.CommandName     = "Page";
                control.CommandArgument = "First";
                cell.Controls.Add((Control)control);
            }
            if (!isFirstPage)
            {
                IButtonControl control2;
                TableCell      cell2 = new TableCell();
                row.Cells.Add(cell2);
                if (previousPageImageUrl.Length > 0)
                {
                    control2 = new DataControlImageButton(this);
                    ((DataControlImageButton)control2).ImageUrl      = previousPageImageUrl;
                    ((DataControlImageButton)control2).AlternateText = HttpUtility.HtmlDecode(pagerSettings.PreviousPageText);
                    ((DataControlImageButton)control2).EnableCallback(BuildCallbackArgument(PageIndex - 1));
                }
                else
                {
                    control2 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control2).Text = pagerSettings.PreviousPageText;
                    ((DataControlPagerLinkButton)control2).EnableCallback(BuildCallbackArgument(PageIndex - 1));
                }
                control2.CommandName     = "Page";
                control2.CommandArgument = "Prev";
                cell2.Controls.Add((Control)control2);
            }
            if (!isLastPage)
            {
                IButtonControl control3;
                TableCell      cell3 = new TableCell();
                row.Cells.Add(cell3);
                if (nextPageImageUrl.Length > 0)
                {
                    control3 = new DataControlImageButton(this);
                    ((DataControlImageButton)control3).ImageUrl      = nextPageImageUrl;
                    ((DataControlImageButton)control3).AlternateText = HttpUtility.HtmlDecode(pagerSettings.NextPageText);
                    ((DataControlImageButton)control3).EnableCallback(BuildCallbackArgument(PageIndex + 1));
                }
                else
                {
                    control3 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control3).Text = pagerSettings.NextPageText;
                    ((DataControlPagerLinkButton)control3).EnableCallback(BuildCallbackArgument(PageIndex + 1));
                }
                control3.CommandName     = "Page";
                control3.CommandArgument = "Next";
                cell3.Controls.Add((Control)control3);
            }
            if (addFirstLastPageButtons && !isLastPage)
            {
                IButtonControl control4;
                TableCell      cell4 = new TableCell();
                row.Cells.Add(cell4);
                string lastPageImageUrl = pagerSettings.LastPageImageUrl;
                if (lastPageImageUrl.Length > 0)
                {
                    control4 = new DataControlImageButton(this);
                    ((DataControlImageButton)control4).ImageUrl      = lastPageImageUrl;
                    ((DataControlImageButton)control4).AlternateText = HttpUtility.HtmlDecode(pagerSettings.LastPageText);
                    ((DataControlImageButton)control4).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                else
                {
                    control4 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control4).Text = pagerSettings.LastPageText;
                    ((DataControlPagerLinkButton)control4).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                control4.CommandName     = "Page";
                control4.CommandArgument = "Last";
                cell4.Controls.Add((Control)control4);
            }
        }
Exemple #8
0
 private void CreateNumericPager(TableRow row, IPagedDataSource pagedDataSource, bool addFirstLastPageButtons)
 {
     LinkButton button;
     PagerSettings pagerSettings = PagerSettings;
     int pageCount = pagedDataSource.PageCount;
     int num2 = pagedDataSource.PageIndex + 1;
     int pageButtonCount = pagerSettings.PageButtonCount;
     int num4 = pageButtonCount;
     Int32 FirstDisplayedPageIndex = 0;
     int num5 = FirstDisplayedPageIndex + 1;
     if (pageCount < num4)
     {
         num4 = pageCount;
     }
     int num6 = 1;
     int pageIndex = num4;
     if (num2 > pageIndex)
     {
         int num8 = pagedDataSource.PageIndex / pageButtonCount;
         bool flag = ((num2 - num5) >= 0) && ((num2 - num5) < pageButtonCount);
         if ((num5 > 0) && flag)
         {
             num6 = num5;
         }
         else
         {
             num6 = (num8 * pageButtonCount) + 1;
         }
         pageIndex = (num6 + pageButtonCount) - 1;
         if (pageIndex > pageCount)
         {
             pageIndex = pageCount;
         }
         if (((pageIndex - num6) + 1) < pageButtonCount)
         {
             num6 = Math.Max(1, (pageIndex - pageButtonCount) + 1);
         }
         FirstDisplayedPageIndex = num6 - 1;
     }
     if ((addFirstLastPageButtons && (num2 != 1)) && (num6 != 1))
     {
         IButtonControl control;
         TableCell cell = new TableCell();
         row.Cells.Add(cell);
         string firstPageImageUrl = pagerSettings.FirstPageImageUrl;
         if (firstPageImageUrl.Length > 0)
         {
             control = new DataControlImageButton(this);
             ((DataControlImageButton)control).ImageUrl = firstPageImageUrl;
             ((DataControlImageButton)control).AlternateText = HttpUtility.HtmlDecode(pagerSettings.FirstPageText);
             ((DataControlImageButton)control).EnableCallback(BuildCallbackArgument(0));
         }
         else
         {
             control = new DataControlPagerLinkButton(this);
             ((DataControlPagerLinkButton)control).Text = pagerSettings.FirstPageText;
             ((DataControlPagerLinkButton)control).EnableCallback(BuildCallbackArgument(0));
         }
         control.CommandName = "Page";
         control.CommandArgument = "First";
         cell.Controls.Add((Control)control);
     }
     if (num6 != 1)
     {
         TableCell cell2 = new TableCell();
         row.Cells.Add(cell2);
         button = new DataControlPagerLinkButton(this);
         button.Text = "...";
         button.CommandName = "Page";
         button.CommandArgument = (num6 - 1).ToString(NumberFormatInfo.InvariantInfo);
         ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(num6 - 2));
         cell2.Controls.Add(button);
     }
     for (int i = num6; i <= pageIndex; i++)
     {
         TableCell cell3 = new TableCell();
         row.Cells.Add(cell3);
         string str2 = i.ToString(NumberFormatInfo.InvariantInfo);
         if (i == num2)
         {
             Label child = new Label();
             child.Text = str2;
             cell3.Controls.Add(child);
         }
         else
         {
             button = new DataControlPagerLinkButton(this);
             button.Text = str2;
             button.CommandName = "Page";
             button.CommandArgument = str2;
             ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(i - 1));
             cell3.Controls.Add(button);
         }
     }
     if (pageCount > pageIndex)
     {
         TableCell cell4 = new TableCell();
         row.Cells.Add(cell4);
         button = new DataControlPagerLinkButton(this);
         button.Text = "...";
         button.CommandName = "Page";
         button.CommandArgument = (pageIndex + 1).ToString(NumberFormatInfo.InvariantInfo);
         ((DataControlPagerLinkButton)button).EnableCallback(BuildCallbackArgument(pageIndex));
         cell4.Controls.Add(button);
     }
     bool flag2 = pageIndex == pageCount;
     if ((addFirstLastPageButtons && (num2 != pageCount)) && !flag2)
     {
         IButtonControl control2;
         TableCell cell5 = new TableCell();
         row.Cells.Add(cell5);
         string lastPageImageUrl = pagerSettings.LastPageImageUrl;
         if (lastPageImageUrl.Length > 0)
         {
             control2 = new DataControlImageButton(this);
             ((DataControlImageButton)control2).ImageUrl = lastPageImageUrl;
             ((DataControlImageButton)control2).AlternateText = HttpUtility.HtmlDecode(pagerSettings.LastPageText);
             ((DataControlImageButton)control2).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
         }
         else
         {
             control2 = new DataControlPagerLinkButton(this);
             ((DataControlPagerLinkButton)control2).Text = pagerSettings.LastPageText;
             ((DataControlPagerLinkButton)control2).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
         }
         control2.CommandName = "Page";
         control2.CommandArgument = "Last";
         cell5.Controls.Add((Control)control2);
     }
 }
Exemple #9
0
        ///// <summary>
        ///// 已重写。保证创建子控件
        ///// </summary>
        //public override ControlCollection Controls
        //{
        //    get
        //    {
        //        this.EnsureChildControls();
        //        return base.Controls;
        //    }
        //}
        #endregion

        #region 四种分页
        private void CreateNextPrevPager(TableRow row, IPagedDataSource pagedDataSource, bool addFirstLastPageButtons)
        {
            PagerSettings pagerSettings = PagerSettings;
            string previousPageImageUrl = pagerSettings.PreviousPageImageUrl;
            string nextPageImageUrl = pagerSettings.NextPageImageUrl;
            bool isFirstPage = pagedDataSource.IsFirstPage;
            bool isLastPage = pagedDataSource.IsLastPage;
            if (addFirstLastPageButtons && !isFirstPage)
            {
                IButtonControl control;
                TableCell cell = new TableCell();
                row.Cells.Add(cell);
                string firstPageImageUrl = pagerSettings.FirstPageImageUrl;
                if (firstPageImageUrl.Length > 0)
                {
                    control = new DataControlImageButton(this);
                    ((DataControlImageButton)control).ImageUrl = firstPageImageUrl;
                    ((DataControlImageButton)control).AlternateText = HttpUtility.HtmlDecode(pagerSettings.FirstPageText);
                    ((DataControlImageButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                else
                {
                    control = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control).Text = pagerSettings.FirstPageText;
                    ((DataControlPagerLinkButton)control).EnableCallback(BuildCallbackArgument(0));
                }
                control.CommandName = "Page";
                control.CommandArgument = "First";
                cell.Controls.Add((Control)control);
            }
            if (!isFirstPage)
            {
                IButtonControl control2;
                TableCell cell2 = new TableCell();
                row.Cells.Add(cell2);
                if (previousPageImageUrl.Length > 0)
                {
                    control2 = new DataControlImageButton(this);
                    ((DataControlImageButton)control2).ImageUrl = previousPageImageUrl;
                    ((DataControlImageButton)control2).AlternateText = HttpUtility.HtmlDecode(pagerSettings.PreviousPageText);
                    ((DataControlImageButton)control2).EnableCallback(BuildCallbackArgument(PageIndex - 1));
                }
                else
                {
                    control2 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control2).Text = pagerSettings.PreviousPageText;
                    ((DataControlPagerLinkButton)control2).EnableCallback(BuildCallbackArgument(PageIndex - 1));
                }
                control2.CommandName = "Page";
                control2.CommandArgument = "Prev";
                cell2.Controls.Add((Control)control2);
            }
            if (!isLastPage)
            {
                IButtonControl control3;
                TableCell cell3 = new TableCell();
                row.Cells.Add(cell3);
                if (nextPageImageUrl.Length > 0)
                {
                    control3 = new DataControlImageButton(this);
                    ((DataControlImageButton)control3).ImageUrl = nextPageImageUrl;
                    ((DataControlImageButton)control3).AlternateText = HttpUtility.HtmlDecode(pagerSettings.NextPageText);
                    ((DataControlImageButton)control3).EnableCallback(BuildCallbackArgument(PageIndex + 1));
                }
                else
                {
                    control3 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control3).Text = pagerSettings.NextPageText;
                    ((DataControlPagerLinkButton)control3).EnableCallback(BuildCallbackArgument(PageIndex + 1));
                }
                control3.CommandName = "Page";
                control3.CommandArgument = "Next";
                cell3.Controls.Add((Control)control3);
            }
            if (addFirstLastPageButtons && !isLastPage)
            {
                IButtonControl control4;
                TableCell cell4 = new TableCell();
                row.Cells.Add(cell4);
                string lastPageImageUrl = pagerSettings.LastPageImageUrl;
                if (lastPageImageUrl.Length > 0)
                {
                    control4 = new DataControlImageButton(this);
                    ((DataControlImageButton)control4).ImageUrl = lastPageImageUrl;
                    ((DataControlImageButton)control4).AlternateText = HttpUtility.HtmlDecode(pagerSettings.LastPageText);
                    ((DataControlImageButton)control4).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                else
                {
                    control4 = new DataControlPagerLinkButton(this);
                    ((DataControlPagerLinkButton)control4).Text = pagerSettings.LastPageText;
                    ((DataControlPagerLinkButton)control4).EnableCallback(BuildCallbackArgument(pagedDataSource.PageCount - 1));
                }
                control4.CommandName = "Page";
                control4.CommandArgument = "Last";
                cell4.Controls.Add((Control)control4);
            }
        }
Exemple #10
0
 /// <summary>
 /// Initializes <see cref="Paginator{T}"/> instance.
 /// </summary>
 /// <param name="dataSource">
 /// Paged data source.
 /// </param>
 /// <param name="pageSize">
 /// Page size.
 /// </param>
 public Paginator(IPagedDataSource <T> dataSource, int pageSize)
 {
     this.dataSource = dataSource;
     this.pageSize   = pageSize;
     pages           = new Dictionary <int, IReadOnlyList <T> >();
 }
Exemple #11
0
 public ServerSidePagedCollectionView(IPagedDataSource <T> pagedDataSource)
 {
     _pagedDataSource = pagedDataSource;
 }