RepeaterItemEventHandler 代理人

定義

ItemCreatedItemDataBound イベントおよび Repeater イベントを処理するメソッドを表します。

public delegate void RepeaterItemEventHandler(System::Object ^ sender, RepeaterItemEventArgs ^ e);
public delegate void RepeaterItemEventHandler(object sender, RepeaterItemEventArgs e);
type RepeaterItemEventHandler = delegate of obj * RepeaterItemEventArgs -> unit
Public Delegate Sub RepeaterItemEventHandler(sender As Object, e As RepeaterItemEventArgs)

パラメーター

sender
Object

イベントのソース。

e
RepeaterItemEventArgs

イベント データを格納している RepeaterItemEventArgs

次の例では、 の イベントのハンドラーを指定してコーディングする ItemCreated 方法を Repeater示します。 アイテムが作成されるたびに、アイテムの種類を示す新しい Repeater テキスト行が表示されます。

<%@ 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>
<%@ 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>

注釈

RepeaterItemEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを指定します。 イベント ハンドラーにイベントを関連付けるには、イベントにデリゲートのインスタンスを追加します。 イベント ハンドラーは、デリゲートを削除しない限り、イベントが発生するたびに呼び出されます。 イベント ハンドラー デリゲートの詳細については、「イベントの 処理と発生」を参照してください。

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象

こちらもご覧ください