| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- /**
- * Namespace: System.Web.UI.WebControls
- * Class: Table
- *
- * Author: Gaurav Vaish
- * Maintainer: [email protected]
- * Contact: <[email protected]>, <[email protected]>
- * Implementation: yes
- * Status: 100%
- *
- * (C) Gaurav Vaish (2002)
- */
- using System;
- using System.Drawing;
- using System.Globalization;
- using System.Web;
- using System.Web.UI;
- namespace System.Web.UI.WebControls
- {
- public class Table: WebControl
- {
- private TableRowCollection rows;
-
- private class TableRowControlCollection : ControlCollection
- {
- public TableRowControlCollection(Control owner): base(owner)
- {
- }
-
- public override void Add(Control child)
- {
- if(child is TableRow)
- {
- Add(child);
- return;
- }
- throw new ArgumentException(HttpRuntime.FormatResourceString("Cannot_Have_Children_Of_Type", "Table", child.GetType().Name.ToString()));
- }
-
- public override void AddAt(int index, Control child)
- {
- if(child is TableRow)
- {
- Add(child);
- return;
- }
- throw new ArgumentException(HttpRuntime.FormatResourceString("Cannot_Have_Children_Of_Type", "Table", child.GetType().Name.ToString()));
- }
- }
-
- public Table(): base(HtmlTextWriterTag.Table)
- {
- }
-
- public virtual string BackImageUrl
- {
- get
- {
- if(ControlStyleCreated)
- return ((TableStyle)ControlStyle).BackImageUrl;
- }
- set
- {
- ((TableStyle)ControlStyle).BackImageUrl = value;
- }
- }
-
- public virtual int CellPadding
- {
- get
- {
- if(ControlStyleCreated)
- return ((TableStyle)ControlStyle).CellPadding;
- }
- set
- {
- ((TableStyle)ControlStyle).CellPadding = value;
- }
- }
-
- public virtual int CellSpacing
- {
- get
- {
- if(ControlStyleCreated)
- return ((TableStyle)ControlStyle).CellSpacing;
- }
- set
- {
- ((TableStyle)ControlStyle).CellSpacing = value;
- }
- }
-
- public virtual GridLines GridLines
- {
- get
- {
- if(ControlStyleCreated)
- return ((TableStyle)ControlStyle).GridLines;
- }
- set
- {
- ((TableStyle)ControlStyle).GridLines = value;
- }
- }
-
- public virtual HorizontalAlign HorizontalAlign
- {
- get
- {
- if(ControlStyleCreated)
- return ((TableStyle)ControlStyle).HorizontalAlign;
- }
- set
- {
- ((TableStyle)ControlStyle).HorizontalAlign = value;
- }
- }
-
- public virtual TableRowCollection Rows
- {
- get
- {
- if(rows == null)
- {
- rows = new TableRowCollection(this);
- }
- return rows;
- }
- }
-
- protected override void AddAttributesToRender(HtmlTextWriter writer): AddAttributesToRender(writer)
- {
- if(!BorderColor.IsEmpty)
- {
- writer.AddAttribute(HtmlTextWriterAttribute.Bordercolor, ColorTranslator.ToHtml(BorderColor));
- }
-
- Unit bw = BorderWidth;
- if(GridLines == GridLines.None)
- {
- bw = Unit.Pixel(0);
- } else if(!bw.IsEmpty && bw.Type == UnitType.Pixel)
- {
- bw = Unit.Pixel(1);
- }
- writer.AddAttribute(HtmlTextWriterAttribute.Border, ((int)bw.Value).ToString(NumberFormatInfo.InvariantInfo));
- }
-
- protected override ControlCollection CreateControlCollection()
- {
- return new TableRowControlCollection(this);
- }
-
- protected override Style CreateControlStyle()
- {
- return new TableStyle(ViewState);
- }
-
- protected override void RenderContents(HtmlTextWriter writer)
- {
- foreach(object current in Rows)
- {
- ((TableRow)current).RenderControl(writer);
- }
- }
- }
- }
|