Repeater.Items プロパティ
Repeater 内の RepeaterItem オブジェクトのコレクションを取得します。
Public Overridable ReadOnly Property Items As _
RepeaterItemCollection
[C#]
public virtual RepeaterItemCollection Items {get;}
[C++]
public: __property virtual RepeaterItemCollection* get_Items();
[JScript]
public function get Items() : RepeaterItemCollection;
プロパティ値
RepeaterItem オブジェクトのコレクション。既定値は空の RepeaterItemCollection です。
解説
Repeater は、その DataSource のオブジェクトをすべて列挙することにより、 Items コレクションを読み込みます。次に、 Repeater は Items コレクションを使用して、コントロールに各項目を表示します。
使用例
[Visual Basic, C#] Items プロパティを使用して、 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()
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 runat=server>
<b>Repeater1:</b>
<p>
<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>
<p>
<asp:Label id=Label2
font-name="Verdana"
ForeColor="Green"
font-size="10pt"
runat="server"/>
</form>
</body>
</html>
[C#]
<%@ 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();
}
}
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 runat=server>
<b>Repeater1:</b>
<p>
<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>
<p>
<asp:Label id=Label2
font-name="Verdana"
ForeColor="Green"
font-size="10pt"
runat="server"/>
</form>
</body>
</html>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
Repeater クラス | Repeater メンバ | System.Web.UI.WebControls 名前空間 | RepeaterItemCollection