HtmlTable.HtmlTableRowControlCollection.Add(Control) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的 Control 物件加入集合中。
public:
override void Add(System::Web::UI::Control ^ child);
public override void Add(System.Web.UI.Control child);
override this.Add : System.Web.UI.Control -> unit
Public Overrides Sub Add (child As Control)
參數
例外狀況
新增的控制必須為類型 HtmlTableRow。
範例
以下程式碼範例示範如何建立 HtmlTable.HtmlTableRowControlCollection 自訂集合,覆蓋該 Add 方法,使得當資料列加入資料表時,這些資料總是被加入資料表的列集合開頭。 注意自訂 Add 方法呼叫基底類別 AddAt 的方法時參數 index 為 0。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlTable - CustomHtmlTableRowControlCollection Example</title>
</head>
<body>
<form id="Form1"
method="post"
runat="server">
<h3>Custom HtmlTable - CustomHtmlTableRowControlCollection Example</h3>
<aspSample:CustomHtmlTableRowControlCollection
id="HtmlTable1"
name="HtmlTable1"
runat="server"
border="1"
cellSpacing="0"
cellPadding="5">
<tr>
<td>1,1</td>
<td>1,2</td>
<td>1,3</td>
</tr>
<tr>
<td>2,1</td>
<td>2,2</td>
<td>2,3</td>
</tr>
<tr>
<td>3,1</td>
<td>3,2</td>
<td>3,3</td>
</tr>
</aspSample:CustomHtmlTableRowControlCollection>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlTable - CustomHtmlTableRowControlCollection Example</title>
</head>
<body>
<form id="Form1"
method="post"
runat="server">
<h3>Custom HtmlTable - CustomHtmlTableRowControlCollection Example</h3>
<aspSample:CustomHtmlTableRowControlCollection
id="HtmlTable1"
name="HtmlTable1"
runat="server"
border="1"
cellSpacing="0"
cellPadding="5">
<tr>
<td>1,1</td>
<td>1,2</td>
<td>1,3</td>
</tr>
<tr>
<td>2,1</td>
<td>2,2</td>
<td>2,3</td>
</tr>
<tr>
<td>3,1</td>
<td>3,2</td>
<td>3,3</td>
</tr>
</aspSample:CustomHtmlTableRowControlCollection>
</form>
</body>
</html>
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public class CustomHtmlTableRowControlCollection : System.Web.UI.HtmlControls.HtmlTable
{
protected override ControlCollection CreateControlCollection()
{
return new MyHtmlTableRowControlCollection(this);
}
protected class MyHtmlTableRowControlCollection : ControlCollection
{
internal MyHtmlTableRowControlCollection(Control owner) : base(owner) { }
public override void Add(Control child)
{
// Always add new rows at the top of the table.
base.AddAt(0, child);
}
}
}
}
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomHtmlTableRowControlCollection
Inherits System.Web.UI.HtmlControls.HtmlTable
Protected Overrides Function CreateControlCollection() As System.Web.UI.ControlCollection
Return New MyHtmlTableRowControlCollection(Me)
End Function
Protected Class MyHtmlTableRowControlCollection
Inherits ControlCollection
Friend Sub New(ByVal owner As Control)
MyBase.New(owner)
End Sub
Public Overrides Sub Add(ByVal child As Control)
' Always add new rows at the top of the table.
MyBase.AddAt(0, child)
End Sub
End Class
End Class
End Namespace
備註
新增的控制項只能是 HtmlTableRow 控制項;否則會 ArgumentException 拋出例外。