2 * Namespace: System.Web.UI.WebControls
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
8 * Implementation: yes
\r
11 * (C) Gaurav Vaish (2002)
\r
15 using System.Globalization;
\r
17 using System.Web.UI;
\r
18 using Sytem.ComponentModel;
\r
20 namespace System.Web.UI.WebControls
\r
22 [DefaultProperty("Text")]
\r
23 [ToolboxItem(false)]
\r
24 [ControlBuilder(typeof(TableCellControlBuilder))]
\r
25 [ParseChildren(false)]
\r
26 [PersistChildren(true)]
\r
27 public class TableCell: WebControl
\r
30 public TableCell(): base(HtmlTextWriterTag.Td)
\r
32 //TODO: What's the function to prevent Control to give _auto_generated_id
\r
36 internal TableCell(HtmlTextWriterTag tag): base(tag)
\r
38 //TODO: What's the function to prevent Control to give _auto_generated_id
\r
41 public virtual int ColumnSpan
\r
45 object o = ViewState["ColumnSpan"];
\r
52 ViewState["ColumnSpan"] = value;
\r
56 public virtual int RowSpan
\r
60 object o = ViewState["RowSpan"];
\r
67 ViewState["RowSpan"] = value;
\r
71 public virtual string Text
\r
75 object o = ViewState["Text"];
\r
78 return String.Empty;
\r
82 ViewState["Text"] = value;
\r
86 public virtual HorizontalAlign HorizontalAlign
\r
90 if(ControlStyleCreated)
\r
91 return ((TableItemStyle)ControlStyle).HorizontalAlign;
\r
92 return HorizontalAlign.NotSet;
\r
96 ((TableItemStyle)ControlStyle).HorizontalAlign = value;
\r
100 public virtual VerticalAlign VerticalAlign
\r
104 if(ControlStyleCreated)
\r
105 return ((TableItemStyle)ControlStyle).VerticalAlign;
\r
106 return VerticalAlign.NotSet;
\r
110 ((TableItemStyle)ControlStyle).VerticalAlign = value;
\r
114 public virtual bool Wrap
\r
118 if(ControlStyleCreated)
\r
119 return ((TableItemStyle)ControlStyle).Wrap;
\r
124 ((TableItemStyle)ControlStyle).Wrap = value;
\r
128 protected override void AddAttributesToRender(HtmlTextWriter writer)
\r
130 AddAttributesToRender(writer);
\r
132 writer.AddAttribute(HtmlTextWriterAttribute.Colspan, ColumnSpan.ToString(NumberFormatInfo.InvariantInfo));
\r
134 writer.AddAttribute(HtmlTextWriterAttribute.Rowspan, RowSpan.ToString(NumberFormatInfo.InvariantInfo));
\r
137 protected override void AddParsedSubObject(object obj)
\r
141 AddParsedSubObject(obj);
\r
144 if(obj is LiteralControl)
\r
146 Text = ((LiteralControl)obj).Text;
\r
149 string text = Text;
\r
150 if(text.Length > 0)
\r
152 Text = String.Empty;
\r
153 AddParsedSubObject(new LiteralControl(text));
\r
155 AddParsedSubObject(obj);
\r
158 protected override Style CreateControlStyle()
\r
160 return new TableItemStyle(ViewState);
\r
163 protected override void RenderContents(HtmlTextWriter writer)
\r
167 RenderContents(writer);
\r
170 writer.Write(Text);
\r