TableRowCollection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / TableRowCollection.cs / 1 / 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; 
    using System.Security.Permissions;
 
 
    /// 
    /// Encapsulates the collection of  objects within a  control. 
    /// 
    [
    Editor("System.Web.UI.Design.WebControls.TableRowsCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
    ] 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    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);
        }
 
    }
}
                        

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