public override void AddAttributesToRender(HtmlTextWriter writer, WebControl owner) { base.AddAttributesToRender(writer, owner); if (writer == null) { return; } // note: avoid calling properties multiple times int i = CellSpacing; if (i != -1) { writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, i.ToString(Helpers.InvariantCulture), false); if (i == 0) { writer.AddStyleAttribute(HtmlTextWriterStyle.BorderCollapse, "collapse"); } } i = CellPadding; if (i != -1) { writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, i.ToString(Helpers.InvariantCulture), false); } GridLines g = GridLines; switch (g) { case GridLines.Horizontal: writer.AddAttribute(HtmlTextWriterAttribute.Rules, "rows", false); break; case GridLines.Vertical: writer.AddAttribute(HtmlTextWriterAttribute.Rules, "cols", false); break; case GridLines.Both: writer.AddAttribute(HtmlTextWriterAttribute.Rules, "all", false); break; } // note: avoid ToString on the enum switch (HorizontalAlign) { case HorizontalAlign.Left: writer.AddAttribute(HtmlTextWriterAttribute.Align, "left", false); break; case HorizontalAlign.Center: writer.AddAttribute(HtmlTextWriterAttribute.Align, "center", false); break; case HorizontalAlign.Right: writer.AddAttribute(HtmlTextWriterAttribute.Align, "right", false); break; case HorizontalAlign.Justify: writer.AddAttribute(HtmlTextWriterAttribute.Align, "justify", false); break; } #if NET_4_0 if (g != GridLines.None && BorderWidth.IsEmpty) { writer.AddAttribute(HtmlTextWriterAttribute.Border, "1", false); } #else // border (=0) is always present (and base class doesn't seems to add it) // but border is "promoted" to 1 if gridlines are present (with BorderWidth == 0) if (g == GridLines.None) { writer.AddAttribute(HtmlTextWriterAttribute.Border, "0", false); } else if (BorderWidth.IsEmpty) { writer.AddAttribute(HtmlTextWriterAttribute.Border, "1", false); } else { writer.AddAttribute(HtmlTextWriterAttribute.Border, BorderWidth.Value.ToString(Helpers.InvariantCulture)); } #endif #if !NET_2_0 string s = BackImageUrl; if (s.Length > 0) { if (owner != null) { s = owner.ResolveClientUrl(s); } s = String.Concat("url(", s, ")"); writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, s); } #endif }
public override void AddAttributesToRender (HtmlTextWriter writer, WebControl owner) { base.AddAttributesToRender (writer, owner); if (writer == null) return; // note: avoid calling properties multiple times int i = CellSpacing; if (i != -1) { writer.AddAttribute (HtmlTextWriterAttribute.Cellspacing, i.ToString (Helpers.InvariantCulture), false); if (i == 0) writer.AddStyleAttribute(HtmlTextWriterStyle.BorderCollapse, "collapse"); } i = CellPadding; if (i != -1) writer.AddAttribute (HtmlTextWriterAttribute.Cellpadding, i.ToString (Helpers.InvariantCulture), false); GridLines g = GridLines; switch (g) { case GridLines.Horizontal: writer.AddAttribute (HtmlTextWriterAttribute.Rules, "rows", false); break; case GridLines.Vertical: writer.AddAttribute (HtmlTextWriterAttribute.Rules, "cols", false); break; case GridLines.Both: writer.AddAttribute (HtmlTextWriterAttribute.Rules, "all", false); break; } // note: avoid ToString on the enum switch (HorizontalAlign) { case HorizontalAlign.Left: writer.AddAttribute (HtmlTextWriterAttribute.Align, "left", false); break; case HorizontalAlign.Center: writer.AddAttribute (HtmlTextWriterAttribute.Align, "center", false); break; case HorizontalAlign.Right: writer.AddAttribute (HtmlTextWriterAttribute.Align, "right", false); break; case HorizontalAlign.Justify: writer.AddAttribute (HtmlTextWriterAttribute.Align, "justify", false); break; } #if NET_4_0 if (g != GridLines.None && BorderWidth.IsEmpty) writer.AddAttribute (HtmlTextWriterAttribute.Border, "1", false); #else // border (=0) is always present (and base class doesn't seems to add it) // but border is "promoted" to 1 if gridlines are present (with BorderWidth == 0) if (g == GridLines.None) { writer.AddAttribute (HtmlTextWriterAttribute.Border, "0", false); } else if (BorderWidth.IsEmpty) { writer.AddAttribute (HtmlTextWriterAttribute.Border, "1", false); } else { writer.AddAttribute (HtmlTextWriterAttribute.Border, BorderWidth.Value.ToString (Helpers.InvariantCulture)); } #endif #if !NET_2_0 string s = BackImageUrl; if (s.Length > 0) { if (owner != null) s = owner.ResolveClientUrl (s); s = String.Concat ("url(", s, ")"); writer.AddStyleAttribute (HtmlTextWriterStyle.BackgroundImage, s); } #endif }
/// <include file='doc\TableStyle.uex' path='docs/doc[@for="TableStyle.AddAttributesToRender"]/*' /> /// <internalonly/> /// <devdoc> /// <para> Adds information about the background /// image, callspacing, cellpadding, gridlines, and alignment to the list of attributes /// to render.</para> /// </devdoc> public override void AddAttributesToRender(HtmlTextWriter writer, WebControl owner) { base.AddAttributesToRender(writer, owner); string s = BackImageUrl; if (s.Length != 0) { if (owner != null) { s = owner.ResolveClientUrl(s); } writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, "url(" + s + ")"); } int n = CellSpacing; if (n >= 0) { writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, n.ToString(NumberFormatInfo.InvariantInfo)); if (n == 0) { writer.AddStyleAttribute(HtmlTextWriterStyle.BorderCollapse, "collapse"); } } n = CellPadding; if (n >= 0) { writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, n.ToString(NumberFormatInfo.InvariantInfo)); } HorizontalAlign align = HorizontalAlign; if (align != HorizontalAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, Enum.Format(typeof(HorizontalAlign), align, "G")); } GridLines gridLines = GridLines; if (gridLines != GridLines.None) { string rules = String.Empty; switch (GridLines) { case GridLines.Both: rules = "all"; break; case GridLines.Horizontal: rules = "rows"; break; case GridLines.Vertical: rules = "cols"; break; } writer.AddAttribute(HtmlTextWriterAttribute.Rules, rules); } }