/// <summary> /// Create numeric image button. /// </summary> /// <param name="writer">A <see cref="System.Web.UI.HtmlTextWriter"/> that represents the output stream to render HTML content on the client.</param> /// <param name="index">the page index correspond to the button.</param> /// <param name="isCurrent">if the page index correspond to the button is the current page index</param> private void CreateNumericImages(HtmlTextWriter writer, int index, bool isCurrent) { AddPagingButtonLayoutTag(writer); //<li> or <span> string indexStr = index.ToString(); for (int i = 0; i < indexStr.Length; i++) { writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, indexStr[i], (isCurrent) ? CpiButtonImageNameExtension : ButtonImageNameExtension, ButtonImageExtension)); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); } if (PagingButtonLayoutType != PagingButtonLayoutType.None) { writer.RenderEndTag(); //</li> or </span> } }
/// <summary> /// create more (...) button. /// </summary> private void CreateMoreButton(HtmlTextWriter writer, int pageIndex) { AddClassAndStyle(MoreButtonsClass, MoreButtonsStyle, writer); AddPagingButtonLayoutTag(writer); //<li> or <span> writeSpacingStyle(writer); if (Enabled) { writer.AddAttribute("href", GetHrefString(pageIndex), false); AddToolTip(writer, pageIndex); AddHyperlinkTarget(writer); } writer.RenderBeginTag(HtmlTextWriterTag.A); //<a> if (/*PagingButtonType == PagingButtonType.Image && */ MoreButtonType == PagingButtonType.Image) { writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, "more", ButtonImageNameExtension, ButtonImageExtension)); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.RenderBeginTag(HtmlTextWriterTag.Img); //<img> writer.RenderEndTag(); //</img> } else { writer.Write("..."); } writer.RenderEndTag(); //</a> if (PagingButtonLayoutType != PagingButtonLayoutType.None) { writer.RenderEndTag(); //</li> or </span> } }
/// <summary> /// Create first, prev, next or last button. /// </summary> /// <param name="writer">A <see cref="System.Web.UI.HtmlTextWriter"/> that represents the output stream to render HTML content on the client.</param> /// <param name="btn">the navigation button</param> private void CreateNavigationButton(HtmlTextWriter writer, NavigationButton btn) { if (!ShowFirstLast && (btn == NavigationButton.First || btn == NavigationButton.Last)) { return; } if (!ShowPrevNext && (btn == NavigationButton.Prev || btn == NavigationButton.Next)) { return; } if (PagingButtonLayoutType != PagingButtonLayoutType.None) //add css class and style attribute to pager item directly { if (btn == NavigationButton.First || btn == NavigationButton.Last) //first page or last page button { AddClassAndStyle(FirstLastButtonsClass, FirstLastButtonsStyle, writer); } else { AddClassAndStyle(PrevNextButtonsClass, PrevNextButtonsStyle, writer);//next page or prevous page button } } string linktext; bool disabled; int pageIndex; string btnname = btn.ToString().ToLower(); bool isImgBtn = (//PagingButtonType == PagingButtonType.Image && NavigationButtonType == PagingButtonType.Image); if (btn == NavigationButton.First || btn == NavigationButton.Prev) { disabled = (CurrentPageIndex <= 1) | !Enabled; if (!ShowDisabledButtons && disabled) { return; } AddPagingButtonLayoutTag(writer); //<li> or <span> pageIndex = (btn == NavigationButton.First) ? 1 : (CurrentPageIndex - 1); writeSpacingStyle(writer); if (PagingButtonLayoutType == PagingButtonLayoutType.None) //add css class and style attribute to pager item directly { if (btn == NavigationButton.First || btn == NavigationButton.Last) //first page or last page button { AddClassAndStyle(FirstLastButtonsClass, FirstLastButtonsStyle, writer); } else { AddClassAndStyle(PrevNextButtonsClass, PrevNextButtonsStyle, writer);//next page or prevous page button } } if (isImgBtn) { if (!disabled) { writer.AddAttribute("href", GetHrefString(pageIndex), false); AddToolTip(writer, pageIndex); AddHyperlinkTarget(writer); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, btnname, ButtonImageNameExtension, ButtonImageExtension)); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, btnname, DisabledButtonImageNameExtension, ButtonImageExtension)); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); } } else { linktext = (btn == NavigationButton.Prev) ? PrevPageText : FirstPageText; if (disabled) { writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); } else { //WriteCssClass(writer); AddToolTip(writer, pageIndex); AddHyperlinkTarget(writer); writer.AddAttribute("href", GetHrefString(pageIndex), false); } writer.RenderBeginTag(HtmlTextWriterTag.A); writer.Write(linktext); writer.RenderEndTag(); } } else { disabled = (CurrentPageIndex >= PageCount) | !Enabled; if (!ShowDisabledButtons && disabled) { return; } AddPagingButtonLayoutTag(writer); //<li> or <span> pageIndex = (btn == NavigationButton.Last) ? PageCount : (CurrentPageIndex + 1); writeSpacingStyle(writer); if (PagingButtonLayoutType == PagingButtonLayoutType.None) //add css class and style attribute to pager item directly { if (btn == NavigationButton.First || btn == NavigationButton.Last) //first page or last page button { AddClassAndStyle(FirstLastButtonsClass, FirstLastButtonsStyle, writer); } else { AddClassAndStyle(PrevNextButtonsClass, PrevNextButtonsStyle, writer);//next page or prevous page button } } if (isImgBtn) { if (!disabled) { writer.AddAttribute("href", GetHrefString(pageIndex), false); AddToolTip(writer, pageIndex); AddHyperlinkTarget(writer); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, btnname, ButtonImageNameExtension, ButtonImageExtension)); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, String.Concat(ImagePath, btnname, DisabledButtonImageNameExtension, ButtonImageExtension)); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); if (ButtonImageAlign != ImageAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, ButtonImageAlign.ToString()); } writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); } } else { linktext = (btn == NavigationButton.Next) ? NextPageText : LastPageText; if (disabled) { writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); } else { //WriteCssClass(writer); AddToolTip(writer, pageIndex); writer.AddAttribute("href", GetHrefString(pageIndex), false); AddHyperlinkTarget(writer); } writer.RenderBeginTag(HtmlTextWriterTag.A); writer.Write(linktext); writer.RenderEndTag(); } } if (PagingButtonLayoutType != PagingButtonLayoutType.None) { writer.RenderEndTag(); //</li> or </span> } }