TableRowCollection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

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

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

namespace System.Web.UI.WebControls { 
 
    using System;
    using System.Collections; 
    using System.ComponentModel;
    using System.Drawing.Design;
    using System.Web;
    using System.Web.UI; 

    ///  
    /// Encapsulates the collection of  objects within a  control. 
    /// 
    [ 
    Editor("System.Web.UI.Design.WebControls.TableRowsCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
    ]
    public sealed class TableRowCollection : IList {
 

        ///  
        ///    A protected field of type . Represents the  collection internally. 
        /// 
        private Table owner; 


        /// 
        ///  
        internal TableRowCollection(Table owner) {
            this.owner = owner; 
        } 

 
        /// 
        ///    Gets the
        ///    count of  in the collection.
        ///  
        public int Count {
            get { 
                if (owner.HasControls()) { 
                    return owner.Controls.Count;
                } 
                return 0;
            }
        }
 

        ///  
        ///     
        ///       Gets a  referenced by the
        ///       specified ordinal index value. 
        ///    
        /// 
        public TableRow this[int index] {
            get { 
                return(TableRow)owner.Controls[index];
            } 
        } 

 

        /// 
        ///    
        ///       Adds the specified  to the end of the collection. 
        ///    
        ///  
        public int Add(TableRow row) { 
            AddAt(-1, row);
            return owner.Controls.Count - 1; 
        }


        ///  
        ///    
        ///       Adds the specified  to the collection at the specified 
        ///       index location. 
        ///    
        ///  
        public void AddAt(int index, TableRow row) {
            owner.Controls.AddAt(index, row);
            if (row.TableSection != TableRowSection.TableBody) {
                owner.HasRowSections = true; 
            }
        } 
 

        ///  
        /// 
        public void AddRange(TableRow[] rows) {
            if (rows == null) {
                throw new ArgumentNullException("rows"); 
            }
            foreach(TableRow row in rows) { 
                Add(row); 
            }
        } 


        /// 
        /// Removes all  controls from the collection. 
        /// 
        public void Clear() { 
            if (owner.HasControls()) { 
                owner.Controls.Clear();
                owner.HasRowSections = false; 
            }
        }

 
        /// 
        ///     Returns an ordinal index value that denotes the position of the specified 
        ///     within the collection.  
        /// 
        public int GetRowIndex(TableRow row) { 
            if (owner.HasControls()) {
                return owner.Controls.IndexOf(row);
            }
            return -1; 
        }
 
 
        /// 
        ///     
        ///       Returns an enumerator of all  controls within the
        ///       collection.
        ///    
        ///  
        public IEnumerator GetEnumerator() {
            return owner.Controls.GetEnumerator(); 
        } 

 
        /// 
        /// Copies contents from the collection to the specified  with the
        ///    specified starting index.
        ///  
        public void CopyTo(Array array, int index) {
            for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) 
                array.SetValue(e.Current, index++); 
        }
 

        /// 
        ///    
        ///       Gets the object that can be used to synchronize access to the collection. In 
        ///       this case, it is the collection itself.
        ///     
        ///  
        public Object SyncRoot {
            get { return this;} 
        }


        ///  
        ///    
        ///       Gets a value indicating whether the collection is read-only. 
        ///     
        /// 
        public bool IsReadOnly { 
            get { return false;}
        }

 
        /// 
        ///     
        ///       Gets a value indicating whether access to the collection is synchronized 
        ///       (thread-safe).
        ///     
        /// 
        public bool IsSynchronized {
            get { return false;}
        } 

 
        ///  
        /// Removes the specified  from the collection.
        ///  
        public void Remove(TableRow row) {
            owner.Controls.Remove(row);
        }
 

        ///  
        /// Removes the  from the collection at the specified 
        ///    index location.
        ///  
        public void RemoveAt(int index) {
            owner.Controls.RemoveAt(index);
        }
 
        // IList implementation, required by collection editor
 
        ///  
        object IList.this[int index] {
            get { 
                return owner.Controls[index];
            }
            set {
                RemoveAt(index); 
                AddAt(index, (TableRow)value);
            } 
        } 

 
        /// 
        bool IList.IsFixedSize {
            get {
                return false; 
            }
        } 
 

        ///  
        int IList.Add(object o) {
            return Add((TableRow) o);
        }
 

        ///  
        bool IList.Contains(object o) { 
            return owner.Controls.Contains((TableRow)o);
        } 


        /// 
        int IList.IndexOf(object o) { 
            return owner.Controls.IndexOf((TableRow)o);
        } 
 

        ///  
        void IList.Insert(int index, object o) {
            AddAt(index, (TableRow)o);
        }
 

        ///  
        void IList.Remove(object o) { 
            Remove((TableRow)o);
        } 

    }
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.UI.WebControls { 
 
    using System;
    using System.Collections; 
    using System.ComponentModel;
    using System.Drawing.Design;
    using System.Web;
    using System.Web.UI; 

    ///  
    /// Encapsulates the collection of  objects within a  control. 
    /// 
    [ 
    Editor("System.Web.UI.Design.WebControls.TableRowsCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
    ]
    public sealed class TableRowCollection : IList {
 

        ///  
        ///    A protected field of type . Represents the  collection internally. 
        /// 
        private Table owner; 


        /// 
        ///  
        internal TableRowCollection(Table owner) {
            this.owner = owner; 
        } 

 
        /// 
        ///    Gets the
        ///    count of  in the collection.
        ///  
        public int Count {
            get { 
                if (owner.HasControls()) { 
                    return owner.Controls.Count;
                } 
                return 0;
            }
        }
 

        ///  
        ///     
        ///       Gets a  referenced by the
        ///       specified ordinal index value. 
        ///    
        /// 
        public TableRow this[int index] {
            get { 
                return(TableRow)owner.Controls[index];
            } 
        } 

 

        /// 
        ///    
        ///       Adds the specified  to the end of the collection. 
        ///    
        ///  
        public int Add(TableRow row) { 
            AddAt(-1, row);
            return owner.Controls.Count - 1; 
        }


        ///  
        ///    
        ///       Adds the specified  to the collection at the specified 
        ///       index location. 
        ///    
        ///  
        public void AddAt(int index, TableRow row) {
            owner.Controls.AddAt(index, row);
            if (row.TableSection != TableRowSection.TableBody) {
                owner.HasRowSections = true; 
            }
        } 
 

        ///  
        /// 
        public void AddRange(TableRow[] rows) {
            if (rows == null) {
                throw new ArgumentNullException("rows"); 
            }
            foreach(TableRow row in rows) { 
                Add(row); 
            }
        } 


        /// 
        /// Removes all  controls from the collection. 
        /// 
        public void Clear() { 
            if (owner.HasControls()) { 
                owner.Controls.Clear();
                owner.HasRowSections = false; 
            }
        }

 
        /// 
        ///     Returns an ordinal index value that denotes the position of the specified 
        ///     within the collection.  
        /// 
        public int GetRowIndex(TableRow row) { 
            if (owner.HasControls()) {
                return owner.Controls.IndexOf(row);
            }
            return -1; 
        }
 
 
        /// 
        ///     
        ///       Returns an enumerator of all  controls within the
        ///       collection.
        ///    
        ///  
        public IEnumerator GetEnumerator() {
            return owner.Controls.GetEnumerator(); 
        } 

 
        /// 
        /// Copies contents from the collection to the specified  with the
        ///    specified starting index.
        ///  
        public void CopyTo(Array array, int index) {
            for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) 
                array.SetValue(e.Current, index++); 
        }
 

        /// 
        ///    
        ///       Gets the object that can be used to synchronize access to the collection. In 
        ///       this case, it is the collection itself.
        ///     
        ///  
        public Object SyncRoot {
            get { return this;} 
        }


        ///  
        ///    
        ///       Gets a value indicating whether the collection is read-only. 
        ///     
        /// 
        public bool IsReadOnly { 
            get { return false;}
        }

 
        /// 
        ///     
        ///       Gets a value indicating whether access to the collection is synchronized 
        ///       (thread-safe).
        ///     
        /// 
        public bool IsSynchronized {
            get { return false;}
        } 

 
        ///  
        /// Removes the specified  from the collection.
        ///  
        public void Remove(TableRow row) {
            owner.Controls.Remove(row);
        }
 

        ///  
        /// Removes the  from the collection at the specified 
        ///    index location.
        ///  
        public void RemoveAt(int index) {
            owner.Controls.RemoveAt(index);
        }
 
        // IList implementation, required by collection editor
 
        ///  
        object IList.this[int index] {
            get { 
                return owner.Controls[index];
            }
            set {
                RemoveAt(index); 
                AddAt(index, (TableRow)value);
            } 
        } 

 
        /// 
        bool IList.IsFixedSize {
            get {
                return false; 
            }
        } 
 

        ///  
        int IList.Add(object o) {
            return Add((TableRow) o);
        }
 

        ///  
        bool IList.Contains(object o) { 
            return owner.Controls.Contains((TableRow)o);
        } 


        /// 
        int IList.IndexOf(object o) { 
            return owner.Controls.IndexOf((TableRow)o);
        } 
 

        ///  
        void IList.Insert(int index, object o) {
            AddAt(index, (TableRow)o);
        }
 

        ///  
        void IList.Remove(object o) { 
            Remove((TableRow)o);
        } 

    }
}
 

// 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