次の方法で共有


Repeater.Items プロパティ

定義

Repeater コントロール内のRepeaterItem オブジェクトのコレクションを取得します。

public:
 virtual property System::Web::UI::WebControls::RepeaterItemCollection ^ Items { System::Web::UI::WebControls::RepeaterItemCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.RepeaterItemCollection Items { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Items : System.Web.UI.WebControls.RepeaterItemCollection
Public Overridable ReadOnly Property Items As RepeaterItemCollection

プロパティ値

RepeaterItem オブジェクトのコレクション。 既定値は空の RepeaterItemCollectionです。

属性

次の例では、 Items プロパティを使用して、 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>Repeater Example</title>
<script language="C#" runat="server">
       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_ItemCommand(Object Sender, RepeaterCommandEventArgs e) {        
          Label2.Text = "Button " + Repeater1.Items[e.Item.ItemIndex].ItemIndex.ToString() + 
                        " has just been clicked! <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>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
         
       <br />
         
       <asp:Repeater id="Repeater1" 
                     OnItemCommand="R1_ItemCommand" 
                     runat="server">
          <HeaderTemplate>
             <table border="1">
                <tr>
                   <td><b>Company</b></td>
                   <td><b>Symbol</b></td>
                </tr>
          </HeaderTemplate>
             
          <ItemTemplate>
             <tr>
                <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
                <td> <asp:Button Text=<%# DataBinder.Eval(Container.DataItem, "Ticker") %> 
                          runat="server" /></td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <br />
         
       <asp:Label id="Label2" 
            style="font-family:Verdana; color:Green; font-size:medium"
            runat="server"/>
    </form>
 </body>
 </html>
<%@ 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>Repeater Example</title>
<script language="VB" runat="server">

    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_ItemCommand(Sender As Object, e As RepeaterCommandEventArgs)
        Label2.Text = "Button " & _
            Repeater1.Items(e.Item.ItemIndex).ItemIndex.ToString() & _
            " has just been clicked! <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>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
         
       <br />
         
       <asp:Repeater id="Repeater1" 
                     OnItemCommand="R1_ItemCommand" 
                     runat="server">
          <HeaderTemplate>
             <table border="1">
                <tr>
                   <td><b>Company</b></td>
                   <td><b>Symbol</b></td>
                </tr>
          </HeaderTemplate>
             
          <ItemTemplate>
             <tr>
                <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
                <td> <asp:Button Text=<%# DataBinder.Eval(Container.DataItem, "Ticker") %> 
                          runat="server" /></td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <br />
         
       <asp:Label id="Label2" 
            style="font-family:Verdana; color:Green; font-size:medium"
            runat="server"/>
    </form>
 </body>
 </html>

注釈

Repeater コントロールは、DataSource内のすべてのオブジェクトを列挙することによって、Items コレクションを設定します。 Items コレクションは、コントロール内の各項目をレンダリングするために、Repeater コントロールによって使用されます。

適用対象

こちらもご覧ください