2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: TableRowCollection
\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.ComponentModel;
\r
17 using System.Collections;
\r
18 using System.Web.UI;
\r
20 namespace System.Web.UI.WebControls
\r
22 [Editor ("System.Web.UI.Design.WebControls.TableRowsCollectionEditor, " + Consts.AssemblySystem_Design, typeof (System.Drawing.Design.UITypeEditor))]
\r
23 public sealed class TableRowCollection: IList, ICollection, IEnumerable
\r
27 internal TableRowCollection(Table owner)
\r
31 throw new ArgumentNullException();
\r
40 return owner.Controls.Count;
\r
44 public bool IsReadOnly
\r
52 public bool IsSynchronized
\r
60 public TableRow this[int index]
\r
64 return (TableRow)owner.Controls[index];
\r
68 public object SyncRoot
\r
76 public int Add(TableRow row)
\r
79 return owner.Controls.Count - 1;
\r
82 public void AddAt(int index, TableRow row)
\r
84 owner.Controls.AddAt(index, row);
\r
87 public void AddRange(TableRow[] rows)
\r
89 foreach(TableRow row in rows)
\r
97 if(owner.HasControls())
\r
99 owner.Controls.Clear();
\r
103 public void CopyTo(Array array, int index)
\r
105 foreach(object current in this)
\r
107 array.SetValue(current, index++);
\r
111 public int GetRowIndex(TableRow row)
\r
113 if(!owner.HasControls())
\r
117 return owner.Controls.IndexOf(row);
\r
120 public IEnumerator GetEnumerator()
\r
122 return owner.Controls.GetEnumerator();
\r
125 public void Remove(TableRow row)
\r
127 owner.Controls.Remove(row);
\r
130 public void RemoveAt(int index)
\r
132 owner.Controls.RemoveAt(index);
\r
135 int IList.Add(object o)
\r
137 return Add((TableRow)o);
\r
140 bool IList.Contains(object o)
\r
142 return owner.Controls.Contains((TableRow)o);
\r
145 int IList.IndexOf(object o)
\r
147 return owner.Controls.IndexOf((TableRow)o);
\r
150 void IList.Insert(int index, object o)
\r
152 owner.Controls.AddAt(index, (TableRow)o);
\r
155 void IList.Remove(object o)
\r
157 owner.Controls.Remove((TableRow)o);
\r
160 bool IList.IsFixedSize
\r
168 object IList.this[int index]
\r
172 return this[index];
\r
177 AddAt(index, (TableRow)value);
\r