TableRow.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / TableRow.cs / 1305376 / TableRow.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.UI.WebControls { 
 
    using System;
    using System.ComponentModel; 
    using System.Globalization;
    using System.Web;
    using System.Web.UI;
    using System.Web.Util; 

    ///  
    ///     Encapsulates a row 
    ///       within a table.
    ///  
    [
    Bindable(false),
    DefaultProperty("Cells"),
    ParseChildren(true, "Cells"), 
    ToolboxItem(false)
    ] 
    [Designer("System.Web.UI.Design.WebControls.PreviewControlDesigner, " + AssemblyRef.SystemDesign)] 
    public class TableRow : WebControl {
 
        TableCellCollection cells;


        ///  
        ///    
        ///       Initializes a new instance of the  class. 
        ///     
        /// 
        public TableRow() : base(HtmlTextWriterTag.Tr) { 
            PreventAutoID();
        }

 
        /// 
        ///     Indicates the table cell collection of the table 
        ///       row. This property is read-only. 
        /// 
        [ 
        MergableProperty(false),
        WebSysDescription(SR.TableRow_Cells),
        PersistenceMode(PersistenceMode.InnerDefaultProperty)
        ] 
        public virtual TableCellCollection Cells {
            get { 
                if (cells == null) 
                    cells = new TableCellCollection(this);
                return cells; 
            }
        }

 
        /// 
        ///     Indicates the horizontal alignment of the content within the table cells. 
        ///  
        [
        WebCategory("Layout"), 
        DefaultValue(HorizontalAlign.NotSet),
        WebSysDescription(SR.TableItem_HorizontalAlign)
        ]
        public virtual HorizontalAlign HorizontalAlign { 
            get {
                if (ControlStyleCreated == false) { 
                    return HorizontalAlign.NotSet; 
                }
                return ((TableItemStyle)ControlStyle).HorizontalAlign; 
            }
            set {
                ((TableItemStyle)ControlStyle).HorizontalAlign = value;
            } 
        }
 
        public override bool SupportsDisabledAttribute { 
            get {
                return RenderingCompatibility < VersionUtil.Framework40; 
            }
        }

        [ 
        WebCategory("Accessibility"),
        DefaultValue(TableRowSection.TableBody), 
        WebSysDescription(SR.TableRow_TableSection) 
        ]
        public virtual TableRowSection TableSection { 
            get {
                object o = ViewState["TableSection"];
                return((o == null) ? TableRowSection.TableBody : (TableRowSection)o);
            } 
            set {
                if (value < TableRowSection.TableHeader || value > TableRowSection.TableFooter) { 
                    throw new ArgumentOutOfRangeException("value"); 
                }
                ViewState["TableSection"] = value; 
                if (value != TableRowSection.TableBody) {
                    Control parent = Parent;
                    if (parent != null) {
                        Table parentTable = parent as Table; 
                        if (parentTable != null) {
                            parentTable.HasRowSections = true; 
                        } 
                    }
                } 
            }
        }

 
        /// 
        ///    Indicates the vertical alignment of the content within the cell. 
        ///  
        [
        WebCategory("Layout"), 
        DefaultValue(VerticalAlign.NotSet),
        WebSysDescription(SR.TableItem_VerticalAlign)
        ]
        public virtual VerticalAlign VerticalAlign { 
            get {
                if (ControlStyleCreated == false) { 
                    return VerticalAlign.NotSet; 
                }
                return ((TableItemStyle)ControlStyle).VerticalAlign; 
            }
            set {
                ((TableItemStyle)ControlStyle).VerticalAlign = value;
            } 
        }
 
 
        /// 
        ///  
        ///    A protected method. Creates a table item control style.
        /// 
        protected override Style CreateControlStyle() {
            return new TableItemStyle(ViewState); 
        }
 
 
        /// 
        ///    [To be supplied.] 
        /// 
        protected override ControlCollection CreateControlCollection() {
            return new CellControlCollection(this);
        } 

 
        ///  
        ///    [To be supplied.]
        ///  
        protected class CellControlCollection : ControlCollection {

            internal CellControlCollection (Control owner) : base(owner) {
            } 

 
            ///  
            /// Adds the specified  object to the collection. The new control is added
            ///    to the end of the array. 
            /// 
            public override void Add(Control child) {
                if (child is TableCell)
                    base.Add(child); 
                else
                    throw new ArgumentException(SR.GetString(SR.Cannot_Have_Children_Of_Type, "TableRow", child.GetType().Name.ToString(CultureInfo.InvariantCulture))); // throw an exception here 
            } 

 
            /// 
            /// Adds the specified  object to the collection. The new control is added
            ///    to the array at the specified index location.
            ///  
            public override void AddAt(int index, Control child) {
                if (child is TableCell) 
                    base.AddAt(index, child); 
                else
                    throw new ArgumentException(SR.GetString(SR.Cannot_Have_Children_Of_Type, "TableRow", child.GetType().Name.ToString(CultureInfo.InvariantCulture))); // throw an exception here 
            }
        } // class CellControlCollection

    } 
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK