Repeater クラスとは? わかりやすく解説

Repeater クラス

リスト表示される項目ごとに指定されテンプレート繰り返し適用することにより、カスタム レイアウト実現するデータ連結リスト コントロール

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class Repeater
    Inherits Control
    Implements INamingContainer
public class Repeater : Control, INamingContainer
public ref class Repeater : public
 Control, INamingContainer
public class Repeater extends Control implements
 INamingContainer
public class Repeater extends
 Control implements INamingContainer
解説解説

Repeater コントロールは、template 宣言され基本データ バインド リストです。レイアウトスタイル組み込まれていないため、コントロールテンプレートで、レイアウト書式、およびスタイルタグをすべて明示的に宣言する必要があります

Repeater コントロールは、マークアップ タグ複数テンプレートわたって分割できる唯一の Web コントロールです。テンプレート使用してテーブル作成するには、HeaderTemplate にテーブル開始タグ (<table>)、ItemTemplate にテーブルタグ (<tr>)、FooterTemplate にテーブル終了タグ (</table>) を挿入します

Repeater コントロールには、選択機能または編集サポート組み込まれていません。ItemCommand イベント使用してテンプレートからコントロールに対して生成されコントロール イベントを処理できます

Repeater コントロールには、データ バインディングサポートする 2 つプロパティ用意されています。System.Collections.IEnumerable インターフェイス実装するオブジェクト (System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、または配列など) または IListSource インターフェイス実装するオブジェクトデータバインドするには、DataSource プロパティ使用してデータ ソース指定しますDataSource プロパティ設定する場合は、データ バインディング実行するコード手動記述する必要がありますデータ ソース コントロール表されるデータ ソースRepeater コントロール自動的にバインドするには、DataSourceID プロパティを、使用するデータ ソース コントロールID設定します。DataSourceID プロパティ設定すると、Repeater コントロールは、最初要求指定したデータ ソース コントロール自動的にバインドされます。そのため、Repeater コントロールデータ関連プロパティ変更した場合除き、DataBind メソッド明示的に呼び出す必要はありません。

Repeater コントロールは、DataSource プロパティによって宣言および参照されるデータ モデル、または DataSourceID プロパティによって指定されるデータ ソース コントロールに、ItemTemplate と AlternatingItemTemplate をバインドます。HeaderTemplateFooterTemplate、および SeparatorTemplate はデータ連結されていません。

Repeater コントロールデータ ソース設定してデータ返されない場合は、コントロールは項目を表示せずに HeaderTemplateFooterTemplate表示しますデータ ソースnull 参照 (Visual Basic では Nothing) の場合Repeater表示されません。

少なくとも、すべての Repeater コントロールItemTemplate定義しておく必要があります。ただし、次の表で説明するその他のオプション テンプレート使用すると、リスト外観カスタマイズできます

TopicLocation
チュートリアル : Visual Web Developer での ASP.NET マスタ ページ作成使用Visual Studio での ASP .NET Web アプリケーション作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディングVisual Studio での ASP .NET Web アプリケーション作成
方法 : ASP.NET Web サーバー コントロールテンプレート作成するASP .NET Web アプリケーション作成
方法 : ASP.NET Web サーバー コントロールテンプレート動的に作成するASP .NET Web アプリケーション作成
方法 : ASP.NET Web サーバー コントロールテンプレート宣言によって作成するASP .NET Web アプリケーション作成
方法 : ASP.NET Web ページコントロールプログラムによって追加するASP .NET Web アプリケーション作成
方法 : DataList 項目、Repeater 項目、または GridView 項目のボタン イベント応答するASP .NET Web アプリケーション作成
方法 : Visual Studioテンプレート コントロールデータバインドするVisual Studio での ASP .NET Web アプリケーション作成
方法 : Web フォーム ページRepeater Web サーバー コントロール追加する (Visual Studio)Visual Studio での ASP .NET Web アプリケーション作成
方法 : Web フォーム ページRepeater コントロール追加するASP .NET Web アプリケーション作成
方法 : デザイナ使用して Web サーバー コントロール テンプレート作成するVisual Studio での ASP .NET Web アプリケーション作成
方法 : テンプレート コントロールデータ連結するASP .NET Web アプリケーション作成
使用例使用例

2 つ簡単な Repeater コントロールページ使用するコード例次に示しますDataSource プロパティ使用して Repeater コントロールデータ ソース指定します最初Repeater は、テーブル内に項目を表示します2 番目の Repeater は、カンマ区切りリストに項目を表示します

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<html>
 <head>
    <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()
            
            Repeater2.DataSource = values
            Repeater2.DataBind()
        End If
    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 runat=server>
 
       <b>Repeater1:</b>
         
       <p>
         
       <asp:Repeater id=Repeater1 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> <%# DataBinder.Eval(Container.DataItem, "Ticker")
 %> </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
       <b>Repeater2:</b>
       <p>
       <asp:Repeater id=Repeater2 runat="server">
         
          <HeaderTemplate>
             Company data:
          </HeaderTemplate>
             
          <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "Name")
 %> (<%# DataBinder.Eval(Container.DataItem, "Ticker")
 %>)
          </ItemTemplate>
             
          <SeparatorTemplate>, </SeparatorTemplate>
       </asp:Repeater>
    </form>
 </body>
 </html>
 
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
 <head>
    <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();
                 
             Repeater2.DataSource = values;
             Repeater2.DataBind();
          }
       }
 
       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 runat=server>
 
       <b>Repeater1:</b>
         
       <p>
         
       <asp:Repeater id=Repeater1 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> <%# DataBinder.Eval(Container.DataItem, "Ticker")
 %> </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
       <b>Repeater2:</b>
       <p>
       <asp:Repeater id=Repeater2 runat="server">
         
          <HeaderTemplate>
             Company data:
          </HeaderTemplate>
             
          <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "Name") %> (<%#
 DataBinder.Eval(Container.DataItem, "Ticker") %>)
          </ItemTemplate>
             
          <SeparatorTemplate>, </SeparatorTemplate>
       </asp:Repeater>
    </form>
 </body>
 </html>
 

DataSourceID プロパティ使用してRepeater コントロールデータ ソース指定するコード例次に示しますDataSourceID プロパティは、データ取得使用する SqlDataSource コントロールID プロパティ設定されます。ページ読み込まれると、Repeater コントロールは、SqlDataSource コントロールによって指定されデータ ソース自動的にバインドされ、ユーザーデータ表示されます。

<%@ Page Language="VB" %>

<html>
  <head>
  </head>

  <body>
    <form id="Form1" runat="server">
        
      <h3>Repeater.DataSourceID Property Example</h3>
      
      <asp:repeater id=Repeater1       
        datasourceid="SqlDataSource1"
        runat=Server>
        
        <headertemplate>
          <table border=1>
            <tr>
              <td><b>Product ID</b></td>
              <td><b>Product Name</b></td>
            </tr>
        </headertemplate>
          
        <itemtemplate>
          <tr>
            <td> <%# Eval("ProductID") %>
 </td>
            <td> <%# Eval("ProductName")
 %> </td>
          </tr>
        </itemtemplate>
          
        <footertemplate>
          </table>
        </footertemplate>
      </asp:repeater>
        
            <asp:sqldatasource id="SqlDataSource1"
          
            connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
 
        selectcommand="SELECT ProductID, ProductName FROM [Products]
 Where ProductID <= 10"
        runat="server">
      </asp:sqldatasource>
               
    </form>      
  </body>
</html>
<%@ page language="C#" %>

<html>
  <head>
  </head>

  <body>
    <form id="Form1" runat="server">
        
      <h3>Repeater.DataSourceID Property Example</h3>
      
      <asp:repeater id=Repeater1       
        datasourceid="SqlDataSource1"
        runat=Server>
        
        <headertemplate>
          <table border=1>
            <tr>
              <td><b>Product ID</b></td>
              <td><b>Product Name</b></td>
            </tr>
        </headertemplate>
          
        <itemtemplate>
          <tr>
            <td> <%# Eval("ProductID") %> </td>
            <td> <%# Eval("ProductName") %> </td>
          </tr>
        </itemtemplate>
          
        <footertemplate>
          </table>
        </footertemplate>
      </asp:repeater>
        
            <asp:sqldatasource id="SqlDataSource1"          
            connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
 
        selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID
 <= 10"
        runat="server">
      </asp:sqldatasource>
               
    </form>      
  </body>
</html>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
    System.Web.UI.WebControls.Repeater
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Repeater クラス」の関連用語

Repeater クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Repeater クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS