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
        }
Ejemplo n.º 2
0
		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
		}
Ejemplo n.º 3
0
        /// <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);
            }
        }