e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="LayoutTable.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Web.UI.WebControls {
|
|
|
|
using System.Collections;
|
|
using System.Security.Permissions;
|
|
using System.Web;
|
|
|
|
|
|
/// <devdoc>
|
|
/// Table used for laying out controls in a Render method. Doesn't parent added controls, so
|
|
/// it is safe to add child controls to this table. Sets page of added controls if not already set.
|
|
/// </devdoc>
|
|
[SupportsEventValidation]
|
|
internal sealed class LayoutTable : Table {
|
|
|
|
|
|
public LayoutTable(int rows, int columns, Page page) {
|
|
if (rows <= 0) {
|
|
throw new ArgumentOutOfRangeException("rows");
|
|
}
|
|
if (columns <= 0) {
|
|
throw new ArgumentOutOfRangeException("columns");
|
|
}
|
|
|
|
// page may be null in the designer
|
|
if (page != null) {
|
|
this.Page = page;
|
|
}
|
|
|
|
for (int r = 0; r < rows; r++) {
|
|
TableRow row = new TableRow();
|
|
Rows.Add(row);
|
|
for (int c = 0; c < columns; c++) {
|
|
TableCell cell = new LayoutTableCell();
|
|
row.Cells.Add(cell);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public TableCell this[int row, int column] {
|
|
get {
|
|
return (TableCell)Rows[row].Cells[column];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|