public static IHtmlContent SortableHeaderFor <TModel, TValue>( this IHtmlHelper <PagingList <TModel> > html, Expression <Func <TModel, TValue> > expression, string sortColumn) where TModel : class { var htmlContent = new HtmlContentBuilder(); htmlContent.AppendHtml( html.ActionLink( html.DisplayNameForInnerType(expression), html.ViewData.Model.Action, html.ViewData.Model.GetRouteValueForSort(sortColumn)) ); IPagingList pagingList = html.ViewData.Model; if (pagingList.SortExpression == sortColumn || "-" + pagingList.SortExpression == sortColumn || pagingList.SortExpression == "-" + sortColumn) { htmlContent.AppendHtml( pagingList.SortExpression.StartsWith("-") ? PagingOptions.Current.HtmlIndicatorUp : PagingOptions.Current.HtmlIndicatorDown); } return(htmlContent); }
/// <summary> /// 使用 <see cref="IPagingList"/> 实例化一个新的 <see cref="DataResponseModel"/> 实例。 /// </summary> /// <param name="pagingList"></param> public DataResponseModel(IPagingList pagingList) { PageIndex = pagingList.PageIndex; PageTotal = pagingList.TotalPages; Records = pagingList.TotalRecords; Rows = pagingList; }
/// <summary> /// 呈现普通分页按钮 /// </summary> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <returns>分页按钮html代码</returns> public static MvcHtmlString PagingButton (this HtmlHelper html, IPagingList pagingList, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7) { return(PagingButton(html, pagingList, false, null, paginationMode, numericPagingButtonCount)); }
public static IPagingList <TDes> ProjectedAsPagingList <TDes>(this IPagingList pagingList) { var totalPages = (int)System.Math.Ceiling((double)pagingList.Total / pagingList.PageSize); return(new QueryPagerResponse <TDes>(ProjectedAsCollection <TDes>(pagingList.Items), pagingList.PageIndex, pagingList.PageSize, pagingList.Total) { TotalPages = totalPages }); //(ProjectedAsCollection<TDes>(pagingList), total); }
public IActionResult AllForOblast(int oblastId, int page = GlobalConstants.DefaultStartPage) { IEnumerable <MonumentAllViewModel> monuments = this.monumentsService .GetAllForOblastOrderedByName(oblastId) .To <MonumentAllViewModel>() .ToList(); IPagingList <MonumentAllViewModel> viewModel = PagingList.Create(monuments, GlobalConstants.DefaultPageSize, page); return(base.View(viewModel)); }
/// <summary> /// 呈现异步分页按钮 /// </summary> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="updateTargetId">异步分页时,被更新的目标元素Id</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <param name="ajaxUrl"></param> /// <returns>分页按钮html代码</returns> public static MvcHtmlString PagingButtonForAjax (this HtmlHelper html, IPagingList pagingList, string updateTargetId, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7, string ajaxUrl = null) { return(PagingButton(html, pagingList, true, updateTargetId, paginationMode, numericPagingButtonCount, ajaxUrl)); }
public IActionResult All(int page = GlobalConstants.DefaultStartPage) { IEnumerable <HotelAllViewModel> hotels = this.hotelsService .GetAllOrderedByName() .To <HotelAllViewModel>() .ToList(); IPagingList <HotelAllViewModel> viewModel = PagingList.Create(hotels, GlobalConstants.DefaultPageSize, page); return(View(viewModel)); }
/// <summary> /// 呈现分页按钮 /// </summary> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="enableAjax">是否使用ajax分页</param> /// <param name="updateTargetId">异步分页时,被更新的目标元素Id</param> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <param name="ajaxUrl"></param> /// <returns>分页按钮html代码</returns> private static MvcHtmlString PagingButton (this HtmlHelper html, IPagingList pagingList, bool enableAjax, string updateTargetId, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7, string ajaxUrl = null) { if (pagingList == null) { return(MvcHtmlString.Empty); } if (pagingList.TotalCount == 0 || pagingList.PageSize == 0) { return(MvcHtmlString.Empty); } //计算总页数 //var totalPages = (int) (pagingList.TotalCount/pagingList.PageSize); //if ((pagingList.TotalCount%pagingList.PageSize) > 0) // totalPages++; var totalPages = pagingList.TotalPages; //未超过一页时不显示分页按钮 if (totalPages <= 1) { return(MvcHtmlString.Empty); } var showFirst = paginationMode == PaginationMode.NextPreviousFirstLast || paginationMode == PaginationMode.NumericNextPreviousFirstLast; var showLast = paginationMode == PaginationMode.NextPreviousFirstLast || paginationMode == PaginationMode.NumericNextPreviousFirstLast; var showPrevious = true; var showNext = true; var showNumeric = paginationMode == PaginationMode.NumericNextPrevious || paginationMode == PaginationMode.NumericNextPreviousFirstLast; //显示多少个数字分页按钮 //int numericPageButtonCount = 10; //对pageIndex进行修正 if ((pagingList.PageIndex < 1) || (pagingList.PageIndex > totalPages)) { pagingList.PageIndex = 1; } var pagingContainer = new StringBuilder(); pagingContainer.Append("<nav"); //string pagingContainer = "<div class=\"tn-pagination-btn\""; if (enableAjax) { pagingContainer.Append(" plugin=\"ajaxPagingButton\" data-updatetargetid=\"" + updateTargetId + "\""); } pagingContainer.Append("><ul class=\"pager\">"); var pagingButtonsHtml = new StringBuilder(pagingContainer.ToString()); //构建 "首页" if (showFirst) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == 1) { pagingButtonsHtml.Append("<li class=\"disabled\"><span>首页</span></li>"); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>首页</span></a></li>", GetPagingNavigateUrl(html, 1, ajaxUrl)); } } //构建 "上一页" pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == 1) { pagingButtonsHtml.Append("<li class=\"disabled\"><span>上一页</span></li>"); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>上一页</span></a></li>", GetPagingNavigateUrl(html, pagingList.PageIndex - 1, ajaxUrl)); } //构建 数字分页部分 if (showNumeric) { int startNumericPageIndex; if (numericPagingButtonCount > totalPages || pagingList.PageIndex - (numericPagingButtonCount / 2) <= 0) { startNumericPageIndex = 1; } else if (pagingList.PageIndex + (numericPagingButtonCount / 2) > totalPages) { startNumericPageIndex = totalPages - numericPagingButtonCount + 1; } else { startNumericPageIndex = pagingList.PageIndex - (numericPagingButtonCount / 2); } if (startNumericPageIndex < 1) { startNumericPageIndex = 1; } var lastNumericPageIndex = startNumericPageIndex + numericPagingButtonCount - 1; if (lastNumericPageIndex > totalPages) { lastNumericPageIndex = totalPages; } if (startNumericPageIndex > 1) { for (var i = 1; i < startNumericPageIndex; i++) { pagingButtonsHtml.AppendLine(); if (i > 3) { break; } if (i == 3) { pagingButtonsHtml.Append("<li><span>...</span></li>"); } else { if (pagingList.PageIndex == i) { pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } } } } for (var i = startNumericPageIndex; i <= lastNumericPageIndex; i++) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == i) { pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } } if (lastNumericPageIndex < totalPages) { var lastStart = lastNumericPageIndex + 1; if (totalPages - lastStart > 2) { lastStart = totalPages - 2; } for (var i = lastStart; i <= totalPages; i++) { pagingButtonsHtml.AppendLine(); if ((i == lastStart) && (totalPages - lastNumericPageIndex > 3)) { pagingButtonsHtml.AppendLine(); pagingButtonsHtml.Append("<li><span>...</span></li>"); continue; } if (pagingList.PageIndex == i) { pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } } } } //构建 "下一页" pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == totalPages) { pagingButtonsHtml.Append("<li class=\"disabled\"><span>下一页</span></li>"); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>下一页</span></a></li>", GetPagingNavigateUrl(html, pagingList.PageIndex + 1, ajaxUrl)); } //构建 "末页" if (showLast) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == totalPages) { pagingButtonsHtml.Append("<li class=\"disabled\"><span>末页</span></li>"); } else { pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>末页</span></a></li>", GetPagingNavigateUrl(html, totalPages, ajaxUrl)); } } pagingButtonsHtml.Append("</ul></nav>"); return(MvcHtmlString.Create(pagingButtonsHtml.ToString())); }
public IPagingList GetList([FromServices] CalculationService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetCalculations(queryRequest).ProjectedAsPagingList <ProjectCalculationDto>(); return(list); }
public IPagingList <ProjectProcurementDto> GetProcurements([FromServices] ProjectProcurementService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList <ProjectProcurementDto> list = service.GetProcurements(queryRequest).ProjectedAsPagingList <ProjectProcurementDto>(); return(list); }
public static IHtmlContent SortableHeaderFor <TModel, TValue>(this IHtmlHelper <PagingList <TModel> > html, Expression <Func <TModel, TValue> > expression, IPagingList pagingList) where TModel : class { var member = (expression.Body as MemberExpression).Member; return(SortableHeaderFor(html, expression, member.Name, pagingList)); }
/// <summary> /// 呈现普通分页按钮 /// </summary> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <returns>分页按钮html代码</returns> public static MvcHtmlString PagingButton(this HtmlHelper html, IPagingList pagingList, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7) { return PagingButton(html, pagingList, false, null, paginationMode, numericPagingButtonCount); }
/// <summary> /// 呈现异步分页按钮 /// </summary> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="updateTargetId">异步分页时,被更新的目标元素Id</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <param name="ajaxUrl"></param> /// <returns>分页按钮html代码</returns> public static MvcHtmlString PagingButtonForAjax(this HtmlHelper html, IPagingList pagingList, string updateTargetId, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7, string ajaxUrl = null) { return PagingButton(html, pagingList, true, updateTargetId, paginationMode, numericPagingButtonCount, ajaxUrl); }
public IPagingList GetProjects([FromServices] ProjectMasterService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetProjects(queryRequest).ProjectedAsPagingList <ProjectMasterDto>(); return(list); }
public IPagingList GetProjects([FromServices] CostInOutService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetProjectCostin(queryRequest); return(list); }
public IActionResult Index([FromServices] CostInOutService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetProjectCostin(queryRequest); return(View(list)); }
public IPagingList APIStaffer([FromServices] AccountService service, [FromQuery] AccounQueryRequest filterRequest) { IPagingList list = service.GetPagingList(filterRequest).ProjectedAsPagingList <AccountUserDto>(); return(list); }
public IActionResult Supplier([FromServices] SupplierService service, [FromQuery] SupplierQueryRequest filterRequest) { IPagingList list = service.GetPagingList(filterRequest); return(View(list)); }
public IPagingList <ListProductResponse> Map(IPagingList <Domain.Entities.Product> source) { return(source.Records.Select(Map).ToPagingList(source.Page, source.RecordsPerPage, source.TotalRecords)); }
public static IHtmlContent SortableHeaderFor <TModel, TValue>(this IHtmlHelper <PagingList <TModel> > html, Expression <Func <TModel, TValue> > expression, IPagingList pagingList) where TModel : class { return(SortableHeaderFor(html, expression, ExpressionHelper.GetExpressionText(expression), pagingList)); }
public IPagingList Index([FromServices] StandingbookService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetProjects(queryRequest).ProjectedAsPagingList <ProjectStandingbookDto>(); return(list); }
/// <summary> /// 呈现分页按钮 /// </summary> /// <param name="html">被扩展的HtmlHelper</param> /// <param name="pagingList">数据集</param> /// <param name="enableAjax">是否使用ajax分页</param> /// <param name="updateTargetId">异步分页时,被更新的目标元素Id</param> /// <param name="paginationMode">分页按钮显示模式</param> /// <param name="numericPagingButtonCount">数字分页按钮显示个数</param> /// <param name="ajaxUrl"></param> /// <returns>分页按钮html代码</returns> private static MvcHtmlString PagingButton(this HtmlHelper html, IPagingList pagingList, bool enableAjax, string updateTargetId, PaginationMode paginationMode = PaginationMode.NumericNextPrevious, int numericPagingButtonCount = 7, string ajaxUrl = null) { if (pagingList == null) return MvcHtmlString.Empty; if (pagingList.TotalCount == 0 || pagingList.PageSize == 0) return MvcHtmlString.Empty; //计算总页数 //var totalPages = (int) (pagingList.TotalCount/pagingList.PageSize); //if ((pagingList.TotalCount%pagingList.PageSize) > 0) // totalPages++; var totalPages = pagingList.TotalPages; //未超过一页时不显示分页按钮 if (totalPages <= 1) return MvcHtmlString.Empty; var showFirst = paginationMode == PaginationMode.NextPreviousFirstLast || paginationMode == PaginationMode.NumericNextPreviousFirstLast; var showLast = paginationMode == PaginationMode.NextPreviousFirstLast || paginationMode == PaginationMode.NumericNextPreviousFirstLast; var showPrevious = true; var showNext = true; var showNumeric = paginationMode == PaginationMode.NumericNextPrevious || paginationMode == PaginationMode.NumericNextPreviousFirstLast; //显示多少个数字分页按钮 //int numericPageButtonCount = 10; //对pageIndex进行修正 if ((pagingList.PageIndex < 1) || (pagingList.PageIndex > totalPages)) pagingList.PageIndex = 1; var pagingContainer = new StringBuilder(); pagingContainer.Append("<nav"); //string pagingContainer = "<div class=\"tn-pagination-btn\""; if (enableAjax) pagingContainer.Append(" plugin=\"ajaxPagingButton\" data-updatetargetid=\"" + updateTargetId + "\""); pagingContainer.Append("><ul class=\"pager\">"); var pagingButtonsHtml = new StringBuilder(pagingContainer.ToString()); //构建 "首页" if (showFirst) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == 1) pagingButtonsHtml.Append("<li class=\"disabled\"><span>首页</span></li>"); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>首页</span></a></li>", GetPagingNavigateUrl(html, 1, ajaxUrl)); } //构建 "上一页" pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == 1) pagingButtonsHtml.Append("<li class=\"disabled\"><span>上一页</span></li>"); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>上一页</span></a></li>", GetPagingNavigateUrl(html, pagingList.PageIndex - 1, ajaxUrl)); //构建 数字分页部分 if (showNumeric) { int startNumericPageIndex; if (numericPagingButtonCount > totalPages || pagingList.PageIndex - (numericPagingButtonCount / 2) <= 0) startNumericPageIndex = 1; else if (pagingList.PageIndex + (numericPagingButtonCount / 2) > totalPages) startNumericPageIndex = totalPages - numericPagingButtonCount + 1; else startNumericPageIndex = pagingList.PageIndex - (numericPagingButtonCount / 2); if (startNumericPageIndex < 1) startNumericPageIndex = 1; var lastNumericPageIndex = startNumericPageIndex + numericPagingButtonCount - 1; if (lastNumericPageIndex > totalPages) lastNumericPageIndex = totalPages; if (startNumericPageIndex > 1) { for (var i = 1; i < startNumericPageIndex; i++) { pagingButtonsHtml.AppendLine(); if (i > 3) break; if (i == 3) pagingButtonsHtml.Append("<li><span>...</span></li>"); else { if (pagingList.PageIndex == i) pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } } } for (var i = startNumericPageIndex; i <= lastNumericPageIndex; i++) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == i) pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } if (lastNumericPageIndex < totalPages) { var lastStart = lastNumericPageIndex + 1; if (totalPages - lastStart > 2) lastStart = totalPages - 2; for (var i = lastStart; i <= totalPages; i++) { pagingButtonsHtml.AppendLine(); if ((i == lastStart) && (totalPages - lastNumericPageIndex > 3)) { pagingButtonsHtml.AppendLine(); pagingButtonsHtml.Append("<li><span>...</span></li>"); continue; } if (pagingList.PageIndex == i) pagingButtonsHtml.AppendFormat("<li class=\"active\"><span>{0}</span></li>", i); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>{1}</span></a></li>", GetPagingNavigateUrl(html, i, ajaxUrl), i); } } } //构建 "下一页" pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == totalPages) pagingButtonsHtml.Append("<li class=\"disabled\"><span>下一页</span></li>"); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>下一页</span></a></li>", GetPagingNavigateUrl(html, pagingList.PageIndex + 1, ajaxUrl)); //构建 "末页" if (showLast) { pagingButtonsHtml.AppendLine(); if (pagingList.PageIndex == totalPages) pagingButtonsHtml.Append("<li class=\"disabled\"><span>末页</span></li>"); else pagingButtonsHtml.AppendFormat("<li><a href=\"{0}\"><span>末页</span></a></li>", GetPagingNavigateUrl(html, totalPages, ajaxUrl)); } pagingButtonsHtml.Append("</ul></nav>"); return MvcHtmlString.Create(pagingButtonsHtml.ToString()); }
public IPagingList GetList([FromServices] TargetCostService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetTargetCosts(queryRequest).ProjectedAsPagingList <ProjectTargetCostDto>(); return(list); }
/// <summary> /// 构造函数 /// </summary> /// <param name="data">数据</param> public PagingListExtendList(IPagingList <T> data) { this.List = data.List; this.Total = data.Total; }
public static IHtmlContent SortableHeaderFor <TModel, TValue>(this IHtmlHelper <PagingList <TModel> > html, Expression <Func <TModel, TValue> > expression, string sortColumn, IPagingList pagingList) where TModel : class { var bldr = new HtmlContentBuilder(); bldr.AppendHtml(SortableHeaderFor(html, expression, sortColumn)); if (pagingList.SortExpression == sortColumn) { bldr.AppendHtml(PagingOptions.Current.HtmlIndicatorDown); } else { if (pagingList.SortExpression == "-" + sortColumn) { bldr.AppendHtml(PagingOptions.Current.HtmlIndicatorUp); } } return(bldr); }
/// <summary> /// 构造函数 /// </summary> /// <param name="data">数据</param> /// <param name="extendList">扩展数据</param> public PagingListExtendList(IPagingList <T> data, ExtendT extendList) { this.List = data.List; this.Total = data.Total; this.Extend = extendList; }
public IViewComponentResult Invoke(IPagingList pagingList) { return View(PagingOptions.Current.ViewName, pagingList); }
/// <summary> /// 构造函数 /// </summary> /// <param name="data">数据</param> public PagingListExtendData(IPagingList <T> data) { List = data.List; Total = data.Total; }
public static IHtmlContent SortableHeaderFor <TModel, TValue>(this IHtmlHelper <PagingList <TModel> > html, Expression <Func <TModel, TValue> > expression, string sortColumn, IPagingList pagingList) where TModel : class { return(SortableHeaderFor(html, expression, sortColumn)); }
public IActionResult Index([FromServices] ProjectProcurementService service, [FromQuery] ProjectQueryRequest queryRequest) { IPagingList list = service.GetProcurements(queryRequest).ProjectedAsPagingList <ProjectProcurementDto>(); return(View(list)); }