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。
範例
下列程式碼範例示範如何建立可覆寫 Add 方法的自訂 HtmlTable.HtmlTableRowControlCollection 集合,以便在資料列加入資料表時,一律會在資料表的資料列集合開頭加入它們。 請注意,自訂 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 否則會擲回例外狀況。