RepeaterItemEventHandler デリゲート
Repeater の ItemCreated イベントおよび ItemDataBound イベントを処理するメソッドを表します。
名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public Delegate Sub RepeaterItemEventHandler ( _
sender As Object, _
e As RepeaterItemEventArgs _
)
'使用
Dim instance As New RepeaterItemEventHandler(AddressOf HandlerMethod)
public delegate void RepeaterItemEventHandler (
Object sender,
RepeaterItemEventArgs e
)
public delegate void RepeaterItemEventHandler (
Object^ sender,
RepeaterItemEventArgs^ e
)
/** @delegate */
public delegate void RepeaterItemEventHandler (
Object sender,
RepeaterItemEventArgs e
)
適用できません。
パラメータ
- sender
イベントのソース。
- e
イベント データを格納している RepeaterItemEventArgs。
解説
RepeaterItemEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。
イベント処理の詳細については、「イベントの利用」を参照してください。
使用例
Repeater の ItemCreated イベントのハンドラを指定およびコード化する方法の例を次に示します。Repeater の項目が作成されると、項目の型を示す新しいテキスト行が必ず表示されます。
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" runat="server">
Dim Count As Integer = 1
Sub Page_Load(Sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim values As New ArrayList()
values.Add(New PositionData("Microsoft", "Msft"))
values.Add(New PositionData("Intel", "Intc"))
values.Add(New PositionData("Dell", "Dell"))
Repeater1.DataSource = values
Repeater1.DataBind()
End If
End Sub
Sub R1_ItemCreated(Sender As Object, e As RepeaterItemEventArgs)
Dim iTypeText As String = ""
Select Case e.Item.ItemType
Case ListItemType.Item
iTypeText = "Item"
Case ListItemType.AlternatingItem
iTypeText = "AlternatingItem"
Case ListItemType.Header
iTypeText = "Header"
Case ListItemType.Footer
iTypeText = "Footer"
Case ListItemType.Separator
iTypeText = "Separator"
End Select
Count = Count + 1
Label1.Text &= "(" & Count & ") A Repeater " & _
iTypeText & " has been created; <br />"
End Sub
Public Class PositionData
Private myName As String
Private myTicker As String
Public Sub New(newName As String, newTicker As String)
Me.myName = newName
Me.myTicker = newTicker
End Sub
Public ReadOnly Property Name() As String
Get
Return myName
End Get
End Property
Public ReadOnly Property Ticker() As String
Get
Return myTicker
End Get
End Property
End Class
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Repeater Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Repeater Example</h3>
<p style="font-weight: bold">Repeater1:</p>
<asp:Repeater ID="Repeater1" OnItemCreated="R1_ItemCreated" runat="server">
<HeaderTemplate>
<table border="1">
<tr>
<td style="font-weight:bold">Company</td>
<td style="font-weight:bold">Symbol</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<br />
<asp:Label ID="Label1" Font-Names="Verdana"
ForeColor="Green" Font-Size="10pt" Runat="server"/>
</form>
</body>
</html>
<%@ 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">
<script language="C#" runat="server">
int Count = 1;
void Page_Load(Object Sender, EventArgs e)
{
if (!IsPostBack) {
ArrayList values = new ArrayList();
values.Add(new PositionData("Microsoft", "Msft"));
values.Add(new PositionData("Intel", "Intc"));
values.Add(new PositionData("Dell", "Dell"));
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
void R1_ItemCreated(Object Sender, RepeaterItemEventArgs e)
{
String iTypeText = "";
switch (e.Item.ItemType)
{
case ListItemType.Item:
iTypeText = "Item";
break;
case ListItemType.AlternatingItem:
iTypeText = "AlternatingItem";
break;
case ListItemType.Header:
iTypeText = "Header";
break;
case ListItemType.Footer:
iTypeText = "Footer";
break;
case ListItemType.Separator:
iTypeText = "Separator";
break;
}
Label1.Text += "(" + Count++ + ") A Repeater " + iTypeText + " has been created; <br />";
}
public class PositionData
{
private string name;
private string ticker;
public PositionData(string name, string ticker)
{
this.name = name;
this.ticker = ticker;
}
public string Name
{
get { return name; }
}
public string Ticker
{
get { return ticker; }
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Repeater Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Repeater Example</h3>
<p style="font-weight: bold">Repeater1:</p>
<asp:Repeater ID="Repeater1" OnItemCreated="R1_ItemCreated" runat="server">
<HeaderTemplate>
<table border="1">
<tr>
<td style="font-weight:bold">Company</td>
<td style="font-weight:bold">Symbol</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<br />
<asp:Label ID="Label1" Font-Names="Verdana"
ForeColor="Green" Font-Size="10pt" Runat="server"/>
</form>
</body>
</html>
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
System.Web.UI.WebControls 名前空間
Repeater
RepeaterItemEventArgs
Repeater.ItemCreated イベント
Repeater.ItemDataBound イベント