public void GetValueSetsAsyncReturnsPageOfValueSets(int currentPage, int itemsPerPage) { // Arrange var pagerSettings = new PagerSettings { CurrentPage = currentPage, ItemsPerPage = itemsPerPage }; // Act var valueSets = this.Profiler.ExecuteTimed( () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, new string[] { })); this.Output.WriteLine($"Total Values {valueSets.TotalItems}"); this.Output.WriteLine($"Total Pages {valueSets.TotalPages}"); // Assert this.Output.WriteLine(string.Join(",", valueSets.Values.Select(vs => vs.ValueSetUniqueId))); valueSets.Should().NotBeNull(); valueSets.TotalItems.Should().BeGreaterThan(0); valueSets.TotalPages.Should().BeGreaterThan(0); valueSets.Values.All(vs => vs.ValueSetCodes.Any()).Should().BeTrue("value sets must have codes"); // Call again - to time cached var cached = this.Profiler.ExecuteTimed( () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, new string[] { }), "Cached time: "); }
private static int GetStartingPage(Pager pagerData, PagerSettings settings) { // Total pages = 5 = number of pages to display.. so starting page is 1; if (pagerData.CurrentPage <= settings.NumberPagesToDisplay) { return(1); } int range = GetRange(pagerData.CurrentPage, settings.NumberPagesToDisplay); int totalRanges = GetTotalRanges(pagerData.TotalPages, settings.NumberPagesToDisplay); // Current page = 17 // Total pages = 18 // Pages to show = 5 // Range = 4 // Starting page = 14, 15, 16, 17, 18 if (range == totalRanges) { return((pagerData.TotalPages - settings.NumberPagesToDisplay) + 1); } // current page = 7 // Total pages = 18 // Pages to show = 5 // Range = 2 // starting page = 6 range--; return((range * settings.NumberPagesToDisplay) + 1); }
/// <summary> /// 默认构造函数. /// </summary> public ChartView() { InitializeComponent(); _BaseChart = new Chart(); _BaseChart.Name = ChartViewStatic.CHART_NAME; _PagerSettings = new PagerSettings(); }
/// <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); } }
protected PagedViewModel([AspMvcArea][CanBeNull] string area, [AspMvcController][CanBeNull] string controller, [AspMvcAction][CanBeNull] string action, [NotNull] PagerSettings pager) { _area = area ?? string.Empty; _controller = controller ?? "Home"; _action = action ?? "Index"; _pager = pager; }
public ServAppUsers( IMapper mapper, IRepoAppUsers appUsers, IServUserSession userSession, IOptions <MySettings> options) { _mapper = mapper; _appUsers = appUsers; _userSession = userSession; _pagerSettings = options.Value.PagerSettings; }
public PaginatedList <Pet> GetPets(PagerSettings settings) { var list = Enumerable.Range(1, 100) .Select(x => new Pet(x, $"Pet {x}")) .FilterBy(settings) .ToList(); var pets = list.Skip(settings.Skip) .Take(settings.PageSize) .ToList(); return(new PaginatedList <Pet>(pets, list.Count, settings)); }
///// <summary> ///// 把数据实体集合类转换为 客户可分析DataSet 的格式。 ///// </summary> ///// <param name="entitys">数据实体集.</param> ///// <param name="propertys">可配制的属性.</param> ///// <param name="columnsEdit">编辑属性.</param> ///// <returns>转化后的DataSet.</returns> //public DataSet ConvertEntityToDataSet(System.Collections.IList entitys, // Dictionary<string, ColumnPropertyInfo> propertys, Dictionary<string, ColumnEditCfgInfo> columnsEdit,) //{ // if (entitys == null || propertys == null) return null; // _EditDataHasTable = new Dictionary<string, Dictionary<string, string>>(); // try // { // DataTable dtData = new DataTable(); // List<ColumnPropertyInfo> filterColumnPropertyInfos = new List<ColumnPropertyInfo>(); // foreach (ColumnPropertyInfo info in propertys.Values) // { // if (!string.IsNullOrEmpty(info.ChartDataType)) // { // if (null != entitys && 0 != entitys.Count) // { // if (MB.Util.MyReflection.Instance.CheckObjectExistsProperty(entitys[0], info.Name)) // { // string dataType = info.DataType; // if (columnsEdit != null && columnsEdit.ContainsKey(info.Name)) // dataType = ChartViewStatic.SYSTEM_STRING; // dtData.Columns.Add(info.Name, MB.Util.General.CreateSystemType(dataType, false)); // filterColumnPropertyInfos.Add(info); // } // } // } // } // Type t = entitys[0].GetType(); // foreach (object entity in entitys) // { // DataRow drNew = dtData.NewRow(); // dtData.Rows.Add(drNew); // foreach (ColumnPropertyInfo info in filterColumnPropertyInfos) // { // var v = t.GetProperty(info.Name); // object val = v.GetValue(entity, null); // if (val == null || val == System.DBNull.Value) continue; // if (columnsEdit != null && columnsEdit.ContainsKey(info.Name)) // { // drNew[info.Name] = convertValueToDescription(val, columnsEdit[info.Name]); // } // else // { // drNew[info.Name] = MB.Util.MyConvert.Instance.ChangeType(val, dtData.Columns[info.Name].DataType); // } // } // } // DataSet dsData = new DataSet(); // dsData.Tables.Add(dtData); // return dsData; // } // catch (Exception ex) // { // throw new MB.Util.APPException("执行 ConvertEntityToDataSet 出错" + ex.Message); // } //} #region Add private method #endregion #endregion #region private methods private void bindDefaultChart(ChartTypeInfo chartTypeInfo, DataColumnCollection dataColumnCollection, PagerSettings pagerSettings) { ChartEventArgs chartEventArgs = new ChartEventArgs(); ChartViewHelper chartViewHelper = new ChartViewHelper(); chartEventArgs.ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), chartTypeInfo.DefaultChartType.ToString()); chartEventArgs.XAxis = chartViewHelper.GetDataColumn(chartTypeInfo.XAxis, dataColumnCollection); chartEventArgs.YAxis = chartViewHelper.GetDataColumn(chartTypeInfo.YAxis, dataColumnCollection); chartEventArgs.ZAxis = chartViewHelper.GetDataColumn(chartTypeInfo.ZAxis, dataColumnCollection); prepareChart(chartEventArgs, pagerSettings); }
public ServBooks( IMapper mapper, IMemoryCache cache, IRepoBooks repoBooks, IRepoAuthors repoAuthors, IServUserSession userSession, IOptions <MySettings> options) { _mapper = mapper; _cache = cache; _repoBooks = repoBooks; _repoAuthors = repoAuthors; _userSession = userSession; _pagerSettings = options.Value.PagerSettings; }
private void prepareChart(ChartEventArgs e, PagerSettings pagerSettings) { ChartViewHelper chartViewHelper = new ChartViewHelper(); List <ChartAreaInfo> chartAreaInfos = chartViewHelper.CreateChartData( _DataSet, _ColumnPropertyInfos, e, pagerSettings); _XValueCount = chartViewHelper.XValueCount; pagerSettings.PageCount = _XValueCount / pagerSettings.PageSize + 1; showBindingNavigator(_PagerSettings); if (e.ChartType == SeriesChartType.Pie) { using (IChart chart = new PieChart(_BaseChart)) { chart.IsPercent = e.IsPercent; chart.AreaDataList = chartAreaInfos; } } bool isMultiChartArea = false; if (e.AnalyseData == ChartViewStatic.R_BTN_COMPARE_NAME) { isMultiChartArea = true; } if (e.ChartType == SeriesChartType.Line) { using (IChart chart = new LineChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea)) { chart.IsPercent = e.IsPercent; chart.AreaDataList = chartAreaInfos; } } if (e.ChartType == SeriesChartType.Column) { using (IChart chart = new ColumnChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea)) { chart.IsPercent = e.IsPercent; chart.AreaDataList = chartAreaInfos; } } _ChartEventArgs = e; }
public SearchModel( IServBooks servBooks, IServPosts servPosts, IServTheses servTheses, IServExport servExport, IServEditItem servEditItem, IServUserSession userSession, IOptions <MySettings> options) { _servBooks = servBooks; _servPosts = servPosts; _servTheses = servTheses; _servExport = servExport; _servEditItem = servEditItem; _userSession = userSession; _pagerSettings = options.Value.PagerSettings; }
public void PagerSettings_DefaultProperty() { PagerSettings pager = new PagerSettings(); Assert.AreEqual("", pager.FirstPageImageUrl, "FirstPageImageUrl"); Assert.AreEqual("<<", pager.FirstPageText, "FirstPageText"); Assert.AreEqual("", pager.LastPageImageUrl, "LastPageImageUrl"); Assert.AreEqual(">>", pager.LastPageText, "LastPageText"); Assert.AreEqual(PagerButtons.Numeric, pager.Mode, "Mode"); Assert.AreEqual("", pager.NextPageImageUrl, "NextPageImageUrl"); Assert.AreEqual(">", pager.NextPageText, "NextPageText"); Assert.AreEqual(10, pager.PageButtonCount, "PageButtonCount"); Assert.AreEqual(PagerPosition.Bottom, pager.Position, "Position"); Assert.AreEqual("", pager.PreviousPageImageUrl, "PreviousPageImageUrl"); Assert.AreEqual("<", pager.PreviousPageText, "PreviousPageText"); Assert.AreEqual(true, pager.Visible, "Visible"); }
public void FindValueSetsAsyncReturnsResults(string nameFilter) { // Arrange var pagerSettings = new PagerSettings { CurrentPage = 1, ItemsPerPage = 20 }; // Act var valueSets = this.Profiler.ExecuteTimed( () => this.valueSetRepository.FindValueSetsAsync(nameFilter, pagerSettings, new string[] { })); // Assert valueSets.Should().NotBeNull(); valueSets.TotalItems.Should().BeGreaterThan(0); valueSets.TotalPages.Should().BeGreaterThan(0); valueSets.Values.All(vs => vs.ValueSetCodes.Any()).Should().BeTrue("value sets must have codes"); }
/// <summary> /// formatEditName = null значит что не будет колонки с действиями /// </summary> public CoreGridFor(HttpContext context, string formatEditName = "formatEdit") : base(context) { AutoWidth = true; Height = "100%"; Width = "100%"; PagerSettings = new PagerSettings { PageSizeOptions = $"[10,20,50,100,500,1000,5000,{JqGridHelper.GridAllRecordsCount}]" }; SearchDialogSettings = new SearchDialogSettings { MultipleSearch = true, Width = 800 }; var columnModels = GetModelColumns(typeof(TModel)); var primaryKeyColumn = columnModels.FirstOrDefault(t => t.AttributeInfo.PrimaryKeyField); SortSettings = new SortSettings { InitialSortColumn = primaryKeyColumn != null ? primaryKeyColumn.PropertyInfo.Name : "Id", InitialSortDirection = SortDirection.Asc }; ToolBarSettings = new ToolBarSettings { ShowSearchToolBar = true, ShowSearchButton = true, ShowRefreshButton = true, ShowEditButton = false, ShowAddButton = false, ShowDeleteButton = false }; SetColumn(columnModels, formatEditName); EditDialogSettings.CloseAfterEditing = true; AddDialogSettings.CloseAfterAdding = true; Responsive = true; ColumnReordering = true; StoreNavigationOptions = true; AppearanceSettings.ShowRowNumbers = true; ID = "JqGrid" + typeof(TModel).Name + "s"; SearchToolBarSettings.SearchOperators = true; SearchToolBarSettings.SearchToolBarAction = SearchToolBarAction.SearchOnEnter; //TreeGridSettings.Enabled = true; }
public void GetValueSetCodes(int itemsPerPage, int pageNumber) { // Arrange var pagerSettings = new PagerSettings { CurrentPage = pageNumber, ItemsPerPage = itemsPerPage }; // Act var page = this.Profiler.ExecuteTimed(async() => await this.valueSetCodeService.GetValueSetCodesAsync(pagerSettings)); this.Output.WriteLine($"Total Values {page.TotalItems}"); this.Output.WriteLine($"Total Pages {page.TotalPages}"); // Assert page.TotalItems.Should().BeGreaterThan(0); page.TotalPages.Should().BeGreaterThan(0); page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); }
public PList <ProductTypeListViewModel> GetProductTypeList(int pageNumber, Expression <Func <ProductType, object> > orderBy = null, SortDirection sortDir = SortDirection.Asc, Expression <Func <ProductType, bool> > filter = null) { PagerSettings psettings = null; int pageSize = _userHelper.PagerSize; var productType = (from c in _uow.ProductTypeRepository.Get(filter).Order(orderBy, sortDir) select new ProductTypeListViewModel { Id = c.Id, Name = c.Name, IsActive = c.IsActive, UserId = c.UserId, SetDate = c.SetDate, SystemDate = c.SystemDate }).Page(pageNumber, pageSize, out psettings); return(productType.ToPList(psettings)); }
public void WillNotBeAnEmptyCollectionIfCodesDontMatchFilter() { // Arrange var pagerSettings = new PagerSettings { CurrentPage = 1, ItemsPerPage = 20 }; var cds = new string[] { "2.16.840.1.113883.6.103-nope" }; // Act var collection = this.Profiler.ExecuteTimed( () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, cds)); // Assert collection.TotalItems.Should().Be(0); var cached = this.Profiler.ExecuteTimed(() => this.valueSetRepository.GetValueSetsAsync(pagerSettings, cds)); }
public void CallBackMethod(string eventArgument) { // 16.10.2004, jorn - Added UpdateRowsClick, added support for autosave. if (string.IsNullOrEmpty(eventArgument)) { return; } if (EnableCallBack) { eventArgument = HttpUtility.UrlDecode(eventArgument, Encoding.Default); eventArgument = eventArgument.Replace("%27", "'"); } string[] eventArgs = eventArgument.Split('!'); // ColumnId of the event string postBackEvent = eventArgs[0]; // If RaisePostBackEvent is raised programatically. m_EventRanInit = true; if (GridPostBack != null) { GridPostBackEventArgs ea = new GridPostBackEventArgs { EventName = postBackEvent }; ea.SetEventArguments(eventArgs); GridPostBack(this, ea); } if (PagerSettings.PagerType == PagerType.Slider || PagerSettings.PagerType == PagerType.RangedSlider) { PagerSettings.updateSliderValues(); } if (Trace.IsTracing) { Trace.Trace("{0} : Start CallBackMethod() Event: {1} Args length:{2}", ID, postBackEvent, eventArgs.Length); } if (Debug) { m_DebugString.AppendFormat("<b>{0}: CallBackMethod event '{1}' has value array '{2}'</b><br/>", ID, postBackEvent, eventArgument); } }
private static int GetEndingPage(Pager pagerData, PagerSettings settings) { // Total pages = 5 = Number to display 1 - 5 if (pagerData.TotalPages <= settings.NumberPagesToDisplay) { return(pagerData.TotalPages); } int range = GetRange(pagerData.CurrentPage, settings.NumberPagesToDisplay); int totalRanges = GetTotalRanges(pagerData.TotalPages, settings.NumberPagesToDisplay); if (range == totalRanges) { return(pagerData.TotalPages); } // if page = 8, ending page is 10. return(range * settings.NumberPagesToDisplay); }
public void CanGetValueSetCodesPageByValueSet(string valueSetReferenceId, int itemsPerPage, int pageNumber) { // Arrange var valueSetGuid = Guid.Parse(valueSetReferenceId); var pageSettings = new PagerSettings { CurrentPage = pageNumber, ItemsPerPage = itemsPerPage }; // Act var page = this.Profiler.ExecuteTimed(async() => await this.valueSetCodeService.GetValueSetCodesAsync(valueSetGuid, pageSettings)); this.Output.WriteLine($"Total Values {page.TotalItems}"); this.Output.WriteLine($"Total Pages {page.TotalPages}"); this.Output.WriteLine($"Current page {page.PagerSettings.CurrentPage}"); // Assert page.TotalItems.Should().BeGreaterThan(0); page.TotalPages.Should().BeGreaterThan(0); page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); }
public void CanGetAPageOfValueSetBackingItem(int itemsPerPage, int pageNumber) { // Arrange var pagerSettings = new PagerSettings { CurrentPage = pageNumber, ItemsPerPage = itemsPerPage }; // Act var page = this.Profiler.ExecuteTimed(async() => await this.repository.GetValueSetBackingItemsAsync(pagerSettings, new List <Guid>(), new List <ValueSetStatus> { ValueSetStatus.Active })); this.Output.WriteLine($"Total Values {page.TotalItems}"); this.Output.WriteLine($"Total Pages {page.TotalPages}"); // Assert page.TotalItems.Should().BeGreaterThan(0); page.TotalPages.Should().BeGreaterThan(0); page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); }
public PList <BranchListViewModel> GetBranchList(int pageNumber, int pageSize, Expression <Func <Branch, object> > orderBy = null, SortDirection sortDir = SortDirection.Asc) { PagerSettings psettings = null; IQueryable <BranchListViewModel> branchList = (from c in _uow.BranchRepository.Get() .Order(orderBy, sortDir) select new BranchListViewModel() { Id = c.Id, Name = c.Name, OpenDate = c.OpenDate, IsHeadOffice = c.IsHeadOffice, IsActive = c.IsActive, OrgCount = c.Organizations.Count(o => o.IsActive), COCount = c.Employees.Count(e => e.IsActive && e.IsCreditOfficer), UserCount = c.UserBranches.Count(u => u.UserProfile.IsActive), ComponentCount = c.Components.Count(p => p.IsActive) }).Page(pageNumber, pageSize, out psettings); return(branchList.ToPList(psettings)); }
/// <summary> /// Calculate the pager properties such as starting, ending, next, previous pages. /// </summary> /// <param name="pagerData"></param> /// <param name="pagerSettings"></param> public void Calculate(Pager pagerData, PagerSettings pagerSettings) { // Check bounds. if (pagerData.CurrentPage < 0) { pagerData.CurrentPage = 1; } if (pagerData.CurrentPage > pagerData.TotalPages) { pagerData.CurrentPage = 1; } int currentPage = pagerData.CurrentPage; // Calculate the starting and ending page. pagerData.StartingPage = GetStartingPage(pagerData, pagerSettings); pagerData.EndingPage = GetEndingPage(pagerData, pagerSettings); // Calculate next page. if (currentPage + 1 <= pagerData.TotalPages) { pagerData.NextPage = currentPage + 1; } else { pagerData.NextPage = currentPage; } // Calculate previous page number. if (currentPage - 1 >= 1) { pagerData.PreviousPage = currentPage - 1; } else { pagerData.PreviousPage = currentPage; } }
public void CanGetValueSetPages(int itemsPerPage, int pageNumber, string orderBy = "Name", SortDirection direction = SortDirection.Asc) { // Arrange var pagerSettings = new PagerSettings { CurrentPage = pageNumber, ItemsPerPage = itemsPerPage, OrderBy = orderBy, Direction = direction }; // Act var page = this.Profiler.ExecuteTimed(async() => await this.valueSetService.GetValueSetsAsync(pagerSettings)); var summaryPage = this.Profiler.ExecuteTimed(async() => await this.valueSetSummaryService.GetValueSetSummariesAsync(pagerSettings)); this.Output.WriteLine($"Total Values {page.TotalItems}"); this.Output.WriteLine($"Total Pages {page.TotalPages}"); // Assert page.TotalItems.Should().BeGreaterThan(0); page.TotalPages.Should().BeGreaterThan(0); page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); summaryPage.TotalItems.Should().BeGreaterThan(0); summaryPage.TotalPages.Should().BeGreaterThan(0); summaryPage.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); }
[InlineData("9C78E8C1-71C4-43E4-B729-8809B4785431", 10, 1)] // RXNORM public void GetCodesForCodeSystem(string codeSystemUniqueId, int itemsPerPage, int pageNumber) { // Arrange var codeSystemGuid = Guid.Parse(codeSystemUniqueId); var pagerSettings = new PagerSettings { CurrentPage = pageNumber, ItemsPerPage = itemsPerPage }; // Act var page = this.Profiler .ExecuteTimed(async() => await this.codeSystemCodeService.GetCodeSystemCodesAsync(pagerSettings, codeSystemGuid)); this.Output.WriteLine($"Total Values {page.TotalItems}"); this.Output.WriteLine($"Total Pages {page.TotalPages}"); // Assert page.TotalItems.Should().BeGreaterThan(0); page.TotalPages.Should().BeGreaterThan(0); page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage); var codeSystems = page.Values.Select(c => c.CodeSystemGuid).Distinct().ToArray(); codeSystems.Length.Should().Be(1); codeSystems[0].Should().Be(codeSystemGuid); }
public PList <OrganizationListViewModel> GetOrganizationList( int pageNumber, Expression <Func <Organization, object> > orderBy = null, SortDirection sortDir = SortDirection.Asc, Expression <Func <Organization, bool> > filter = null) { PagerSettings psettings = null; int pageSize = _userHelper.PagerSize; var orgList = (from c in _uow.OrganizationRepository.Get(filter) .Order(orderBy, sortDir) select new OrganizationListViewModel { Id = c.Id, BranchId = c.BranchId, OrganizationNo = c.OrganizationNo, OrganizationName = c.OrganizationName, OrgCategoryId = c.OrgCategoryId, OrgCategoryName = c.OrgCategory.CategoryName, GenderId = c.GenderId, Gender = c.SysGender.Name, SetupDate = c.SetupDate, MeetingFrequencyId = c.MeetingFrequency, MeetingFrequency = c.SysColcOption.Name, MeetingDate = c.MeetingDate, VillageId = c.VillageId, Village = c.SysVillage.Name, IsActive = c.IsActive, CreditOfficer = c.Employee.EmployeeName, SystemDate = c.SystemDate, UserId = c.UserId, SetDate = c.SetDate }).Page(pageNumber, pageSize, out psettings); return(orgList.ToPList(psettings)); }
protected PagedViewModel([AspMvcController] string controller, [AspMvcAction] string action, [NotNull] PagerSettings pager) : this(string.Empty, controller, action, pager) { }
public static HtmlControl PageLinks([NotNull] PagerSettings <HtmlControl> pagerSettings) { if (pagerSettings.PageCount < 2) { return(null); } bool invokeRootCreated = pagerSettings.OnRootCreated != null; bool invokePageCreated = pagerSettings.OnPageCreated != null; HtmlControl rootTag = new HtmlGenericControl(HtmlTextWriterTag.Ul.ToString()); rootTag.AddCssClass("pagination"); if (invokeRootCreated) { pagerSettings.OnRootCreated(rootTag); } string liTagName = HtmlTextWriterTag.Li.ToString(); string spanTagName = HtmlTextWriterTag.Span.ToString(); int firstPage = 1, lastPage = pagerSettings.PageCount; int firstAdjacentPage, lastAdjacentPage; if (pagerSettings.AdjacentPageCount > 0) { if (pagerSettings.CurrentPage <= pagerSettings.AdjacentPageCount * 2) { firstAdjacentPage = firstPage; lastAdjacentPage = Math.Min(firstPage + pagerSettings.AdjacentPageCount * 2, lastPage); } else if (pagerSettings.CurrentPage > lastPage - pagerSettings.AdjacentPageCount * 2) { firstAdjacentPage = lastPage - pagerSettings.AdjacentPageCount * 2; lastAdjacentPage = lastPage; } else { firstAdjacentPage = pagerSettings.CurrentPage - pagerSettings.AdjacentPageCount; lastAdjacentPage = pagerSettings.CurrentPage + pagerSettings.AdjacentPageCount; } } else { firstAdjacentPage = firstPage; lastAdjacentPage = lastPage; } if (pagerSettings.UseFirstAndLast) { HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child; if (pagerSettings.CurrentPage > firstPage) { child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(firstPage) }; } else { li.AddCssClass("disabled"); child = new HtmlGenericControl(spanTagName); } if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } HtmlControl innerSpan = new HtmlGenericControl(spanTagName) { InnerHtml = "«" }; innerSpan.Attribute("aria-hidden", "true"); child.Controls.Add(innerSpan); li.Controls.Add(child); rootTag.Controls.Add(li); } if (pagerSettings.UsePreviousAndNext) { HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child; if (pagerSettings.CurrentPage > firstPage) { child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(pagerSettings.CurrentPage - 1) }; } else { li.AddCssClass("disabled"); child = new HtmlGenericControl(spanTagName); } if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } HtmlControl innerSpan = new HtmlGenericControl(spanTagName) { InnerHtml = "<" }; innerSpan.Attribute("aria-hidden", "true"); child.Controls.Add(innerSpan); li.Controls.Add(child); rootTag.Controls.Add(li); } if (pagerSettings.AdjacentPageCount > 0 && firstAdjacentPage > firstPage) { HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(firstPage), InnerHtml = firstPage.ToString() }; if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } li.Controls.Add(child); rootTag.Controls.Add(li); if (firstAdjacentPage > firstPage + 1) { HtmlControl liEllipse = new HtmlGenericControl(liTagName); HtmlControl childEllipse = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(firstAdjacentPage - 1), InnerHtml = "…" }; if (invokePageCreated) { pagerSettings.OnPageCreated(liEllipse, childEllipse, false); } liEllipse.Controls.Add(childEllipse); rootTag.Controls.Add(liEllipse); } } for (int i = firstAdjacentPage; i <= lastAdjacentPage; i++) { bool isCurrent = pagerSettings.CurrentPage == i; HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child; if (isCurrent) { li.AddCssClass("active"); child = new HtmlGenericControl(spanTagName) { InnerHtml = i.ToString() }; } else { child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(i), InnerHtml = i.ToString() }; } if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, isCurrent); } li.Controls.Add(child); rootTag.Controls.Add(li); } if (pagerSettings.AdjacentPageCount > 0 && lastAdjacentPage < lastPage) { if (lastAdjacentPage < lastPage - 1) { HtmlControl liEllipse = new HtmlGenericControl(liTagName); HtmlControl childEllipse = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(lastAdjacentPage + 1), InnerHtml = "…" }; if (invokePageCreated) { pagerSettings.OnPageCreated(liEllipse, childEllipse, false); } liEllipse.Controls.Add(childEllipse); rootTag.Controls.Add(liEllipse); } HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(lastPage), InnerHtml = lastPage.ToString() }; if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } li.Controls.Add(child); rootTag.Controls.Add(li); } if (pagerSettings.UsePreviousAndNext) { HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child; if (pagerSettings.CurrentPage < lastPage) { child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(pagerSettings.CurrentPage + 1) }; } else { li.AddCssClass("disabled"); child = new HtmlGenericControl(spanTagName); } if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } HtmlControl innerSpan = new HtmlGenericControl(spanTagName) { InnerHtml = ">" }; innerSpan.Attribute("aria-hidden", "true"); child.Controls.Add(innerSpan); li.Controls.Add(child); rootTag.Controls.Add(li); } if (pagerSettings.UseFirstAndLast) { HtmlControl li = new HtmlGenericControl(liTagName); HtmlControl child; if (pagerSettings.CurrentPage < lastPage) { child = new HtmlAnchor { HRef = pagerSettings.PageUrlHandler(lastPage) }; } else { li.AddCssClass("disabled"); child = new HtmlGenericControl(spanTagName); } if (invokePageCreated) { pagerSettings.OnPageCreated(li, child, false); } HtmlControl innerSpan = new HtmlGenericControl(spanTagName) { InnerHtml = "»" }; innerSpan.Attribute("aria-hidden", "true"); child.Controls.Add(innerSpan); li.Controls.Add(child); rootTag.Controls.Add(li); } return(rootTag); }
public IActionResult Pets(PagerSettings settings) { var result = _petsRepository.GetPets(settings); return(View(result)); }
private void showBindingNavigator(PagerSettings pagerSettings) { showBindingNavigatorPositionItem(pagerSettings.ShowPageIndex); showBindingNavigatorCountItem(pagerSettings.PageCount); }