//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
/*
* HtmlTableCellCollection.cs
*
* Copyright (c) 2000 Microsoft Corporation
*/
namespace System.Web.UI.HtmlControls {
using System.Runtime.InteropServices;
using System;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
///
///
/// The contains all of the table
/// cells, both <td> and <th> elements, found within an
/// server control.
///
///
public sealed class HtmlTableCellCollection : ICollection {
///
///
///
private HtmlTableRow owner;
internal HtmlTableCellCollection(HtmlTableRow owner) {
this.owner = owner;
}
/*
* The number of cells in the row.
*/
///
///
/// Gets the number of items in the
/// collection.
///
///
public int Count {
get {
if (owner.HasControls())
return owner.Controls.Count;
return 0;
}
}
///
///
/// Gets an control from an
/// control thorugh the cell's ordinal index value.
///
///
public HtmlTableCell this[int index]
{
get {
return(HtmlTableCell)owner.Controls[index];
}
}
///
///
/// Adds the specified control to the end of the
/// collection.
///
///
public void Add(HtmlTableCell cell) {
Insert(-1, cell);
}
///
///
/// Adds an control to a specified location in the
/// collection.
///
///
public void Insert(int index, HtmlTableCell cell) {
owner.Controls.AddAt(index, cell);
}
///
///
/// Deletes all
/// controls from the collection.
///
///
public void Clear() {
if (owner.HasControls())
owner.Controls.Clear();
}
/*
* Returns an enumerator that enumerates over the cells in a table row in order.
*/
///
///
public IEnumerator GetEnumerator() {
return owner.Controls.GetEnumerator();
}
///
///
public void CopyTo(Array array, int index) {
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
///
public Object SyncRoot {
get { return this;}
}
///
///
public bool IsReadOnly {
get { return false;}
}
///
///
public bool IsSynchronized {
get { return false;}
}
///
///
/// Deletes the specified control from the
/// collection.
///
///
public void Remove(HtmlTableCell cell) {
owner.Controls.Remove(cell);
}
///
///
/// Deletes the control at the specified index
/// location from the collection.
///
///
public void RemoveAt(int index) {
owner.Controls.RemoveAt(index);
}
}
}