次の方法で共有


DataGridItem.ItemIndex プロパティ

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

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;

プロパティ値

DataGrid コントロールの Items コレクションの DataGridItem オブジェクトのインデックス。

解説

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

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

使用例

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

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

 
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
<script language="VB" runat="server">
 
    Dim Cart As DataTable
    Dim CartView As DataView
 
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 *(i + 1)
            
            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
            ' Need to load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load
     

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

      <h3>DataGridItem ItemIndex Example</h3>
 
      <asp:DataGrid id="ItemsGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="true"
           AutoGenerateColumns="true">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>
   
      </asp:DataGrid>
 
      <br>

      <asp:Button id="Button1"
           Text="Display ItemIndex of Items in DataGrid"
           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">
 
   DataTable Cart;
   DataView CartView;
 
   ICollection CreateDataSource() 
   {
      DataTable dt = new DataTable();
      DataRow dr;
 
      dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
      dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
      dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
      for (int i = 0; i < 10; i++) 
      {
         dr = dt.NewRow();
 
         dr[0] = i;
         dr[1] = "Item " + i.ToString();
         dr[2] = 1.23 * (i+1);
 
         dt.Rows.Add(dr);
      }
 
      DataView dv = new DataView(dt);
      return dv;
   }
 
   void Page_Load(Object sender, EventArgs e) 
   {
 
      if (!IsPostBack) 
      {
         // Need to load this data only once.
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();
      }
 
   }
 
   void Button_Click(Object sender, EventArgs e) 
   {

      Label1.Text = "The DataSetIndex of each item in the DataGrid are: <br>"; 
 
      foreach (DataGridItem item in ItemsGrid.Items)
      { 
         Label1.Text += "<br>" + item.ItemIndex.ToString() +
                        " - " + item.Cells[1].Text;
      }
 
   }
 
</script>
 
<body>
 
   <form runat=server>

      <h3>DataGridItem ItemIndex Example</h3>
 
      <asp:DataGrid id="ItemsGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="true"
           AutoGenerateColumns="true">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <FooterStyle BackColor="#00aaaa">
         </FooterStyle>
   
      </asp:DataGrid>
 
      <br>

      <asp:Button id="Button1"
           Text="Display ItemIndex of Items in DataGrid"
           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 ファミリ

参照

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