This documentation is archived and is not being maintained.

RepeaterItem.ItemIndex Property

Gets the index of the item in the Repeater control from the Items collection of the control.

[Visual Basic]
Public Overridable ReadOnly Property ItemIndex As Integer
[C#]
public virtual int ItemIndex {get;}
[C++]
public: __property virtual int get_ItemIndex();
[JScript]
public function get ItemIndex() : int;

Property Value

The index of the item in the Repeater control from the Items collection of the control.

Remarks

Use the ItemIndex property to determine the index number of the item in the Repeater control from the Items collection of the control.

Note   This property only applies to data items in the Repeater control. The ItemType property must be set to ListItemType.Item, ListItemType.AlternatingItem, ListItemType.SelectedItem, or ListItemType.EditItem.

Example

[Visual Basic, C#] The following example demonstrates how to use the ItemIndex property to display the index number of the item in the Repeater control from the Items collection of the control.

[Visual Basic] 
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<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("Item 1", "$6.00"))
            values.Add(New PositionData("Item 2", "$7.48"))
            values.Add(New PositionData("Item 3", "$9.96"))
            
            Repeater1.DataSource = values
            Repeater1.DataBind()
        End If
    End Sub
     
    Sub Button_Click(Sender As Object, e As EventArgs)
        Label1.Text = "The Items collection contains: <br>"
        
        Dim item As RepeaterItem
        For Each item In  Repeater1.Items
            Label1.Text &= item.ItemIndex.ToString() & " - " & _
                CType(item.Controls(1), DataBoundLiteralControl).Text & "<br>"
        Next item
    End Sub
 
    Public Class PositionData
        
        Private myItem As String
        Private myPrice As String        
        
        Public Sub New(newItem As String, newPrice As String)
            Me.myItem = newItem
            Me.myPrice = newPrice
        End Sub        
        
        Public ReadOnly Property Item() As String
            Get
                Return myItem
            End Get
        End Property        
        
        Public ReadOnly Property Price() As String
            Get
                Return myPrice
            End Get
        End Property
    End Class
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>Repeater Example</h3>
         
      <p>
         
      <asp:Repeater id="Repeater1" 
                    runat="server">
         <HeaderTemplate>
            <table border=1>
               <tr>
                  <td><b>Item</b></td>
                  <td><b>Price</b></td>
               </tr>
         </HeaderTemplate>
             
         <ItemTemplate>
            <tr>
               <td> <%# DataBinder.Eval(Container.DataItem, "Item") %> </td>
               <td> <%# DataBinder.Eval(Container.DataItem, "Price") %> </td>
            </tr>
         </ItemTemplate>
            
         <FooterTemplate>
            </table>
         </FooterTemplate>
             
      </asp:Repeater>
      <p>

      <asp:Button id="Button1"
           Text="Display Items in Repeater"
           OnClick="Button_Click"
           runat="server"/>

      <br><br>
         
      <asp:Label id="Label1"                 
                 runat="server"/>
   </form>
</body>
</html>


[C#] 
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>

   <script language="C#" runat="server">

      void Page_Load(Object Sender, EventArgs e) 
      {
 
         if (!IsPostBack) 
         {
            ArrayList values = new ArrayList();
 
            values.Add(new PositionData("Item 1", "$6.00"));
            values.Add(new PositionData("Item 2", "$7.48"));
            values.Add(new PositionData("Item 3", "$9.96"));
 
            Repeater1.DataSource = values;
            Repeater1.DataBind();
         }

      }
      void Button_Click(Object Sender, EventArgs e) 
      {        
         Label1.Text = "The Items collection contains: <br>";

         foreach(RepeaterItem item in Repeater1.Items)
         {        
            Label1.Text += item.ItemIndex.ToString() + " - " +
                           ((DataBoundLiteralControl)item.Controls[1]).Text +
                           "<br>";
         }
      }    
 
      public class PositionData 
      {
        
         private string item;
         private string price;
 
         public PositionData(string item, string price) 
         {
            this.item = item;
            this.price = price;
         }
 
         public string Item 
         {
            get 
            {
               return item;
            }
         }
 
         public string Price 
         {
            get 
            {
               return price;
            }
         }
      }
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>Repeater Example</h3>
         
      <p>
         
      <asp:Repeater id="Repeater1" 
                    runat="server">
         <HeaderTemplate>
            <table border=1>
               <tr>
                  <td><b>Item</b></td>
                  <td><b>Price</b></td>
               </tr>
         </HeaderTemplate>
             
         <ItemTemplate>
            <tr>
               <td> <%# DataBinder.Eval(Container.DataItem, "Item") %> </td>
               <td> <%# DataBinder.Eval(Container.DataItem, "Price") %> </td>
            </tr>
         </ItemTemplate>
            
         <FooterTemplate>
            </table>
         </FooterTemplate>
             
      </asp:Repeater>
      <p>

      <asp:Button id="Button1"
           Text="Display Items in Repeater"
           OnClick="Button_Click"
           runat="server"/>

      <br><br>
         
      <asp:Label id="Label1"                 
                 runat="server"/>
   </form>
</body>
</html>

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

RepeaterItem Class | RepeaterItem Members | System.Web.UI.WebControls Namespace | Repeater | Items | ItemType

Show: