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.Item 、 ListItemType.AlternatingItem 、 ListItemType.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