次の方法で共有


DataListItem.ItemIndex プロパティ

コントロールの Items コレクションの DataListItem オブジェクトのインデックスを取得します。

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;

プロパティ値

Items コレクションの DataListItem オブジェクトのインデックス。

解説

ItemIndex プロパティを使用して、 Items コレクションの DataListItem オブジェクトのインデックス番号を確認します。

メモ   このプロパティは、 DataList コントロールのデータ項目だけに適用されます。 DataListItem オブジェクトの ItemType プロパティは、 ListItemType.ItemListItemType.AlternatingItemListItemType.SelectedItem 、または ListItemType.EditItem に設定する必要があります。

使用例

[Visual Basic, C#] ItemIndex プロパティを使用して、コントロールの Items コレクションの DataListItem オブジェクトのインデックス番号を表示する方法を次の例に示します。

[Visual Basic, C#] メモ   次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「 Web フォームのコード モデル 」を参照してください。

 
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language = "VB" runat="server">
 
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        
        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()
            dr(0) = "Item " & i.ToString()
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function 'CreateDataSource


    Sub Page_Load(sender As Object, e As EventArgs)
        If Not IsPostBack Then
            DataList1.DataSource = CreateDataSource()
            DataList1.DataBind()
        End If
    End Sub 'Page_Load


    Sub Button_Click(sender As Object, e As EventArgs)
        
        Label1.Text = "The ItemIndex of each item in the DataList are: <br>"
        
        Dim item As DataListItem
        For Each item In  DataList1.Items
            Label1.Text &= "<br>" & item.ItemIndex.ToString() & " - " & CType(item.Controls(1), DataBoundLiteralControl).Text
        Next item
    End Sub 'Button_Click
  
   </script>
 
<body>
 
   <form runat=server>

      <h3>DataListItem ItemIndex Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>
               
         <ItemTemplate>

            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

         </ItemTemplate>
 
      </asp:DataList>

        <br><br>

      <asp:Button id="Button1"
           Text="Display ItemIndex for Items in the DataList"
           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>
   <script language = "C#" runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
  
         for (int i = 0; i < 10; i++) 
         {
            dr = dt.NewRow();
            dr[0] = "Item " + i.ToString();
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
         if (!IsPostBack) 
         {
            DataList1.DataSource = CreateDataSource();
            DataList1.DataBind();
         }
      }
 
      void Button_Click(Object sender, EventArgs e)
      {

         Label1.Text = "The ItemIndex of each item in the DataList are: <br>"; 
 
         foreach (DataListItem item in DataList1.Items)
         { 
            Label1.Text += "<br>" + item.ItemIndex.ToString() + " - " +
                           ((DataBoundLiteralControl)item.Controls[1]).Text;
         }

      }
  
 
   </script>
 
<body>
 
   <form runat=server>

      <h3>DataListItem ItemIndex Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>
               
         <ItemTemplate>

            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

         </ItemTemplate>
 
      </asp:DataList>

        <br><br>

      <asp:Button id="Button1"
           Text="Display ItemIndex for Items in the DataList"
           OnClick="Button_Click"
           runat="server"/>
 
      <br><br>

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

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

DataListItem クラス | DataListItem メンバ | System.Web.UI.WebControls 名前空間 | DataList | Items | ItemType