英語で読む

次の方法で共有


DataRow.Item[] プロパティ

定義

指定した列に格納されているデータを取得または設定します。

オーバーロード

Item[DataColumn]

指定した DataColumn に格納されているデータを取得または設定します。

Item[Int32]

インデックスで指定した列に格納されているデータを取得または設定します。

Item[String]

名前で指定した列に格納されているデータを取得または設定します。

Item[DataColumn, DataRowVersion]

指定した DataColumn に格納されているデータの指定したバージョンを取得します。

Item[Int32, DataRowVersion]

列に格納されている、取得するデータのインデックスとバージョンで指定したデータを取得します。

Item[String, DataRowVersion]

指定した列に格納されているデータの指定したバージョンを取得します。

Item[DataColumn]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

指定した DataColumn に格納されているデータを取得または設定します。

public object this[System.Data.DataColumn column] { get; set; }

パラメーター

column
DataColumn

データが格納されている DataColumn

プロパティ値

データを格納している Object

例外

この列はこのテーブルに属していません。

column が null です。

削除した行に値を設定しようとしました。

列と値のデータ型が一致しません。

次の例では、 プロパティを Item[] 使用して、特定の列インデックスの値を取得および設定します。 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を DataGrid 取得します。 2 つ目は、 メソッドに引数として渡される値を設定します。

Private Sub DataGrid1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs)
    
    Dim dataGridTable As DataTable = _
        CType(DataGrid1.DataSource, DataTable)
    ' Set the current row using the RowNumber 
    ' property of the CurrentCell.
    Dim currentRow As DataRow = _
        dataGridTable.Rows(DataGrid1.CurrentCell.RowNumber)
    Dim column As DataColumn = dataGridTable.Columns(1)

    ' Get the value of the column 1 in the DataTable.
    label1.Text = currentRow(column).ToString()
End Sub
 
Private Sub SetDataRowValue( _
    ByVal grid As DataGrid, ByVal newVal As Object)

    ' Set the value of a column in the last row of a DataGrid.
    Dim table As DataTable = CType(grid.DataSource, DataTable)
    Dim row As DataRow = table.Rows(table.Rows.Count - 1)
    Dim column As DataColumn = table.Columns("FirstName")
    row(column)= newVal
End Sub

注釈

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これがすぐに編集される場合は、生成できる例外を参照してください EndEdit

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[Int32]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

インデックスで指定した列に格納されているデータを取得または設定します。

public object this[int columnIndex] { get; set; }

パラメーター

columnIndex
Int32

列の 0 から始まるインデックス番号。

プロパティ値

データを格納している Object

例外

削除した行に値を設定しようとしたときに発生します。

引数 columnIndex が範囲外です。

値を設定したときに、新しい値の Type の設定が DataType と一致しない場合に発生します。

次の例では、 プロパティを Item[] 使用して、特定の列インデックスの値を取得および設定します。 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を DataGrid 取得します。

private void DataGrid1_Click(object sender,
    System.EventArgs e)
{
    // Get the DataTable the grid is bound to.
    DataGrid thisGrid = (DataGrid) sender;
    DataTable table = (DataTable) thisGrid.DataSource;
    DataRow currentRow =
        table.Rows[thisGrid.CurrentCell.RowNumber];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow[1]);
    // You can also use the name of the column:
    // Console.WriteLine(currentRow["FirstName"])
}

private void SetDataRowValue(DataGrid grid, object newValue)
{
    // Set the value of the last column in the last row of a DataGrid.
    DataTable table;
    table = (DataTable) grid.DataSource;
    DataRow row;

    // Get last row
    row = (DataRow)table.Rows[table.Rows.Count-1];

    // Set value of last column
    row[table.Columns.Count-1] = newValue;
}

注釈

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これが編集の場合は、生成できる例外を参照してください EndEdit

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[String]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

名前で指定した列に格納されているデータを取得または設定します。

public object this[string columnName] { get; set; }

パラメーター

columnName
String

列の名前。

プロパティ値

データを格納している Object

例外

columnName で指定した列が見つかりません。

削除した行に値を設定しようとしたときに発生します。

値を設定したときに、その値の Type の設定が DataType と一致していない場合に発生します。

AllowDBNullfalse に設定されている列に Null 値を挿入したときに発生します。

次の例では、 プロパティを Item[] 使用して、特定の列インデックスの値を取得および設定します。 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を DataGrid 取得します。 2 つ目は、 メソッドに引数として渡される値を設定します。

private void DataGrid1_Click(
    object sender, System.EventArgs e)
{
    // Get the DataTable the grid is bound to.
    DataGrid thisGrid = (DataGrid) sender;
    DataTable table = (DataTable) thisGrid.DataSource;
    DataRow currentRow =
        table.Rows[thisGrid.CurrentCell.RowNumber];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow["FirstName"]);
    // You can also use the index:
    // Console.WriteLine(currentRow[1]);
}

private void SetDataRowValue(
    DataGrid grid, object newValue)
{
    // Set the value of the first column in
    // the last row of a DataGrid.
    DataTable table = (DataTable) grid.DataSource;
    DataRow row = table.Rows[table.Rows.Count-1];
    row["FirstName"] = newValue;
}

注釈

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これがすぐに編集される場合は、生成できる例外を参照してください EndEdit

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[DataColumn, DataRowVersion]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

指定した DataColumn に格納されているデータの指定したバージョンを取得します。

public object this[System.Data.DataColumn column, System.Data.DataRowVersion version] { get; }

パラメーター

column
DataColumn

列に関する情報を格納する DataColumn

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。 指定できる値は、DefaultOriginalCurrent、および Proposed です。

プロパティ値

データを格納している Object

例外

行がこのテーブルに属していません。

引数 column が null です。

このバージョンのデータが行にありません。

次の例では、コントロール内のクリックされたセルの現在の値を DataGrid 取得します。

private void DataGrid1_Click(object sender,
    System.EventArgs e)
{
    DataTable dataGridTable =
        (DataTable)DataGrid1.DataSource;

    // Set the current row using the RowNumber
    // property of the CurrentCell.
    DataRow currentRow = dataGridTable.Rows[DataGrid1.CurrentCell.RowNumber];
    DataColumn column = dataGridTable.Columns[1];

    // Get the value of the column 1 in the DataTable.
    Console.WriteLine(currentRow[column, DataRowVersion.Current]);
}

注釈

version プロパティと RowState 混同しないでください。 引数は version 、列の元の値に対する相対的な列に含まれるデータの状態を表します。

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これがすぐに編集される場合は、生成できる例外を参照してください EndEdit

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[Int32, DataRowVersion]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

列に格納されている、取得するデータのインデックスとバージョンで指定したデータを取得します。

public object this[int columnIndex, System.Data.DataRowVersion version] { get; }

パラメーター

columnIndex
Int32

列の 0 から始まるインデックス番号。

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。 指定できる値は、DefaultOriginalCurrent、および Proposed です。

プロパティ値

データを格納している Object

例外

引数 columnIndex が範囲外です。

列と値のデータ型が一致しません。

このバージョンのデータが行にありません。

削除した行に値を設定しようとしました。

次の例では、 オブジェクトの プロパティを使用して Item[] 列の現在の値を DataRow 取得します。

Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    ' Set the current row using the RowNumber property of the CurrentCell.
    Dim currentRow As DataRow = CType(DataGrid1.DataSource, DataTable). _
       Rows(DataGrid1.CurrentCell.RowNumber)

    ' Get the value of the column 1 in the DataTable.
    label1.Text = currentRow(1, DataRowVersion.Current).ToString()
End Sub

注釈

メソッドを呼び出 BeginEdit した後にのみ行を作成または更新できます。同様に、編集を EndEdit コミットするには、 メソッドを呼び出す必要があります。 メソッドを EndEdit 呼び出した後、メソッドを呼び出す前に AcceptChanges 、元の値と新しい提案された値の内部表現が格納されます。 したがって、 を呼び出AcceptChangesすまで、 引数をversion使用して、必要な列の値のバージョン (または DataRowVersion.Proposed) をDataRowVersion.Original指定できます。 ただし、 メソッドを呼び出 AcceptChanges すとすぐに、列のバージョンは に DataRowVersion.Original戻ります。 行が新しい場合は、 パラメーターに を渡 DataRowVersion.Default して列の既定値を取得することもできます。 を渡 DataRowVersion.Currentすと、 プロパティは、バージョンに関係なく、現在の値を返します。

注意

メソッドはBeginEdit、データ バインド コントロールの値を変更するとき、または オブジェクトが にEndEditDataRowCollection追加されたときにDataRow暗黙的に呼び出されます。メソッドは、オブジェクトの メソッドAcceptChanges、オブジェクトの DataRow メソッドDataTableAcceptChangesまたは CancelEdit メソッドのメソッドを呼び出すときに暗黙的に呼び出されます。

これに対し、 列挙CurrentDataRowVersion、 メソッドが呼び出された後にデータのバージョンをEndEdit返します。

引数を version プロパティと RowState 混同しないでください。 引数は version 、列の元の値に対する相対的な列に含まれるデータの状態を表します。 プロパティは RowState 、親 DataTableに対する行全体の状態を表します。

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これがすぐに編集される場合は、生成できる例外を参照してください EndEdit

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[String, DataRowVersion]

ソース:
DataRow.cs
ソース:
DataRow.cs
ソース:
DataRow.cs

指定した列に格納されているデータの指定したバージョンを取得します。

public object this[string columnName, System.Data.DataRowVersion version] { get; }

パラメーター

columnName
String

列の名前。

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。 指定できる値は、DefaultOriginalCurrent、および Proposed です。

プロパティ値

データを格納している Object

例外

columnName で指定した列が見つかりません。

列と値のデータ型が一致しません。

このバージョンのデータが行にありません。

この行は削除されました。

次の例では、コントロールのクリックされたセルにある現在のバージョンのデータを DataGrid 取得します。

private void DataGrid1_Click(object sender, System.EventArgs e)
{
    // Set the current row using the RowNumber
    // property of the CurrentCell.
    DataRow currentRow =
        ((DataTable)(DataGrid1.DataSource)).
        Rows[DataGrid1.CurrentCell.RowNumber];

    // Print the current value of the column named "FirstName."
    Console.WriteLine(currentRow["FirstName",
        DataRowVersion.Current]);
}

注釈

バージョンを プロパティと RowState 混同しないでください。 引数は version 、列の元の値に対する相対的な列に含まれるデータの状態を表します。 プロパティは RowState 、親 DataTableに対する行全体の状態を表します。

プロパティを設定すると、イベントで例外が発生した場合に例外が ColumnChanging 生成されます。

これがすぐに編集される場合は、生成できる例外を参照してください EndEdit

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1