170 lines
4.4 KiB
C#
170 lines
4.4 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="HtmlTableCellCollection.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
/*
|
||
|
* 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;
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// The <see langword='HtmlTableCellCollection'/> contains all of the table
|
||
|
/// cells, both <td> and <th> elements, found within an <see langword='HtmlTable'/>
|
||
|
/// server control.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public sealed class HtmlTableCellCollection : ICollection {
|
||
|
|
||
|
/// <internalonly/>
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
private HtmlTableRow owner;
|
||
|
|
||
|
internal HtmlTableCellCollection(HtmlTableRow owner) {
|
||
|
this.owner = owner;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* The number of cells in the row.
|
||
|
*/
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Gets the number of items in the <see langword='HtmlTableCell'/>
|
||
|
/// collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public int Count {
|
||
|
get {
|
||
|
if (owner.HasControls())
|
||
|
return owner.Controls.Count;
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Gets an <see langword='HtmlTableCell'/> control from an
|
||
|
/// <see langword='HtmlTable'/> control thorugh the cell's ordinal index value.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public HtmlTableCell this[int index]
|
||
|
{
|
||
|
get {
|
||
|
return(HtmlTableCell)owner.Controls[index];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Adds the specified <see langword='HtmlTableCell'/> control to the end of the
|
||
|
/// collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public void Add(HtmlTableCell cell) {
|
||
|
Insert(-1, cell);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Adds an <see langword='HtmlTableCell'/> control to a specified location in the
|
||
|
/// collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public void Insert(int index, HtmlTableCell cell) {
|
||
|
owner.Controls.AddAt(index, cell);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Deletes all <see langword='HtmlTableCell'/>
|
||
|
/// controls from the collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public void Clear() {
|
||
|
if (owner.HasControls())
|
||
|
owner.Controls.Clear();
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Returns an enumerator that enumerates over the cells in a table row in order.
|
||
|
*/
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
public IEnumerator GetEnumerator() {
|
||
|
return owner.Controls.GetEnumerator();
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
public void CopyTo(Array array, int index) {
|
||
|
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
|
||
|
array.SetValue(e.Current, index++);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
public Object SyncRoot {
|
||
|
get { return this;}
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
public bool IsReadOnly {
|
||
|
get { return false;}
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// </devdoc>
|
||
|
public bool IsSynchronized {
|
||
|
get { return false;}
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Deletes the specified <see langword='HtmlTableCell'/> control from the
|
||
|
/// collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public void Remove(HtmlTableCell cell) {
|
||
|
owner.Controls.Remove(cell);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Deletes the <see langword='HtmlTableCell'/> control at the specified index
|
||
|
/// location from the collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public void RemoveAt(int index) {
|
||
|
owner.Controls.RemoveAt(index);
|
||
|
}
|
||
|
}
|
||
|
}
|