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
16 using System.Collections;
\r
17 using System.Web.UI;
\r
19 namespace System.Web.UI.WebControls
\r
21 public sealed class TableRowCollection: IList, ICollection, IEnumerable
\r
25 internal TableRowCollection(Table owner)
\r
29 throw new ArgumentNullException();
\r
38 return owner.Controls.Count;
\r
42 public bool IsReadOnly
\r
50 public bool IsSynchronized
\r
58 public TableRow this[int index]
\r
62 return (TableRow)owner.Controls[index];
\r
66 public object SyncRoot
\r
74 public int Add(TableRow row)
\r
77 return owner.Controls.Count - 1;
\r
80 public void AddAt(int index, TableRow row)
\r
82 owner.Controls.AddAt(index, row);
\r
85 public void AddRange(TableRow[] rows)
\r
87 foreach(TableRow row in rows)
\r
95 if(owner.HasControls())
\r
97 owner.Controls.Clear();
\r
101 public void CopyTo(Array array, int index)
\r
103 foreach(object current in this)
\r
105 array.SetValue(current, index++);
\r
109 public int GetRowIndex(TableRow row)
\r
111 if(!owner.HasControls())
\r
115 return owner.Controls.IndexOf(row);
\r
118 public IEnumerator GetEnumerator()
\r
120 return owner.Controls.GetEnumerator();
\r
123 public void Remove(TableRow row)
\r
125 owner.Controls.Remove(row);
\r
128 public void RemoveAt(int index)
\r
130 owner.Controls.RemoveAt(index);
\r
133 int IList.Add(object o)
\r
135 return Add((TableRow)o);
\r
138 bool IList.Contains(object o)
\r
140 return owner.Controls.Contains((TableRow)o);
\r
143 int IList.IndexOf(object o)
\r
145 return owner.Controls.IndexOf((TableRow)o);
\r
148 void IList.Insert(int index, object o)
\r
150 owner.Controls.AddAt(index, (TableRow)o);
\r
153 void IList.Remove(object o)
\r
155 owner.Controls.Remove((TableRow)o);
\r
158 bool IList.IsFixedSize
\r
166 object IList.this[int index]
\r
170 return this[index];
\r
175 AddAt(index, (TableRow)value);
\r