DataRow.Item[] プロパティ

定義

指定した列に格納されているデータを取得または設定します。Gets or sets data stored in a specified column.

オーバーロード

Item[DataColumn]

指定した DataColumn に格納されているデータを取得または設定します。Gets or sets the data stored in the specified DataColumn.

Item[Int32]

インデックスで指定した列に格納されているデータを取得または設定します。Gets or sets the data stored in the column specified by index.

Item[String]

名前で指定した列に格納されているデータを取得または設定します。Gets or sets the data stored in the column specified by name.

Item[DataColumn, DataRowVersion]

指定した DataColumn に格納されているデータの指定したバージョンを取得します。Gets the specified version of data stored in the specified DataColumn.

Item[Int32, DataRowVersion]

列に格納されている、取得するデータのインデックスとバージョンで指定したデータを取得します。Gets the data stored in the column, specified by index and version of the data to retrieve.

Item[String, DataRowVersion]

指定した列に格納されているデータの指定したバージョンを取得します。Gets the specified version of data stored in the named column.

Item[DataColumn]

指定した DataColumn に格納されているデータを取得または設定します。Gets or sets the data stored in the specified DataColumn.

public:
 property System::Object ^ default[System::Data::DataColumn ^] { System::Object ^ get(System::Data::DataColumn ^ column); void set(System::Data::DataColumn ^ column, System::Object ^ value); };
public object this[System.Data.DataColumn column] { get; set; }
member this.Item(System.Data.DataColumn) : obj with get, set
Default Public Property Item(column As DataColumn) As Object

パラメーター

column
DataColumn

データが格納されている DataColumnA DataColumn that contains the data.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

この列はこのテーブルに属していません。The column does not belong to this table.

column が null です。The column is null.

削除した行に値を設定しようとしました。An attempt was made to set a value on a deleted row.

列と値のデータ型が一致しません。The data types of the value and the column do not match.

次の例では、プロパティを使用して、 Item[] 特定の列インデックスの値を取得および設定する方法を示します。The following examples demonstrate the use of the Item[] property to get and set the value of a specific column index. 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を取得し DataGrid ます。The first example gets the value of the first column in any row that a user clicks in a DataGrid control. 2番目のメソッドは、引数として渡された値をメソッドに設定します。The second sets a value passed as an argument to the method.

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 ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これがただちに編集される場合は、「」を参照して、 EndEdit 生成できる例外を確認してください。If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[Int32]

インデックスで指定した列に格納されているデータを取得または設定します。Gets or sets the data stored in the column specified by index.

public:
 property System::Object ^ default[int] { System::Object ^ get(int columnIndex); void set(int columnIndex, System::Object ^ value); };
public object this[int columnIndex] { get; set; }
member this.Item(int) : obj with get, set
Default Public Property Item(columnIndex As Integer) As Object

パラメーター

columnIndex
Int32

列の 0 から始まるインデックス番号。The zero-based index of the column.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

削除した行に値を設定しようとしたときに発生します。Occurs when you try to set a value on a deleted row.

引数 columnIndex が範囲外です。The columnIndex argument is out of range.

値を設定したときに、新しい値の Type の設定が DataType と一致しない場合に発生します。Occurs when you set the value and the new value's Type does not match DataType.

次の例では、プロパティを使用して、 Item[] 特定の列インデックスの値を取得および設定する方法を示します。The following examples demonstrate the use of the Item[] property to get and set the value of a specific column index. 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を取得し DataGrid ます。The first example gets the value of the first column in any row that a user clicks in a DataGrid control.

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;
}
Private Sub DataGrid1_Click _
    (ByVal sender As System.Object, ByVal e As System.EventArgs)

    ' Get the DataTable the grid is bound to.
    Dim thisGrid As DataGrid = CType(sender, DataGrid)
    Dim table As DataTable = CType(thisGrid.DataSource, DataTable)
    Dim currentRow As DataRow = _
        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"))
    End Sub

    Private Sub SetDataRowValue( _
        ByVal grid As DataGrid, ByVal newValue As Object)

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

注釈

プロパティを設定すると、イベントで例外が発生した場合に例外が生成され ColumnChanging ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これが編集の場合は、 EndEdit 生成可能な例外について「」を参照してください。If this is an edit, see EndEdit for the exceptions that can be generated.

Item[String]

名前で指定した列に格納されているデータを取得または設定します。Gets or sets the data stored in the column specified by name.

public:
 property System::Object ^ default[System::String ^] { System::Object ^ get(System::String ^ columnName); void set(System::String ^ columnName, System::Object ^ value); };
public object this[string columnName] { get; set; }
member this.Item(string) : obj with get, set
Default Public Property Item(columnName As String) As Object

パラメーター

columnName
String

列の名前。The name of the column.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

columnName で指定した列が見つかりません。The column specified by columnName cannot be found.

削除した行に値を設定しようとしたときに発生します。Occurs when you try to set a value on a deleted row.

値を設定したときに、その値の Type の設定が DataType と一致していない場合に発生します。Occurs when you set a value and its Type does not match DataType.

AllowDBNullfalse に設定されている列に Null 値を挿入したときに発生します。Occurs when you try to insert a null value into a column where AllowDBNull is set to false.

次の例では、プロパティを使用して、 Item[] 特定の列インデックスの値を取得および設定する方法を示します。The following examples demonstrate the use of the Item[] property to get and set the value of a specific column index. 最初の例では、ユーザーがコントロール内でクリックした行の最初の列の値を取得し DataGrid ます。The first example gets the value of the first column in any row that a user clicks in a DataGrid control. 2番目のメソッドは、引数として渡された値をメソッドに設定します。The second sets a value passed as an argument to the method.

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;
}
Private Sub DataGrid1_Click( _
    sender As Object, e As System.EventArgs)
     
    ' Get the DataTable the grid is bound to.
    Dim thisGrid As DataGrid = CType(sender, DataGrid)
    Dim table As DataTable = _
        CType(thisGrid.DataSource, DataTable)
    Dim currentRow As DataRow = _
        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).ToString())
End Sub
    
Private Sub SetDataRowValue( _
    grid As DataGrid, newValue As Object)
    ' Set the value of the first column in 
    ' the last row of a DataGrid.
    Dim table As DataTable = _
        CType(grid.DataSource, DataTable)
    Dim row As DataRow
    row = table.Rows((table.Rows.Count - 1))
    row("FirstName") = newValue
End Sub

注釈

プロパティを設定すると、イベントで例外が発生した場合に例外が生成され ColumnChanging ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これがただちに編集される場合は、「」を参照して、 EndEdit 生成できる例外を確認してください。If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[DataColumn, DataRowVersion]

指定した DataColumn に格納されているデータの指定したバージョンを取得します。Gets the specified version of data stored in the specified DataColumn.

public:
 property System::Object ^ default[System::Data::DataColumn ^, System::Data::DataRowVersion] { System::Object ^ get(System::Data::DataColumn ^ column, System::Data::DataRowVersion version); };
public object this[System.Data.DataColumn column, System.Data.DataRowVersion version] { get; }
member this.Item(System.Data.DataColumn * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(column As DataColumn, version As DataRowVersion) As Object

パラメーター

column
DataColumn

列に関する情報を格納する DataColumnA DataColumn that contains information about the column.

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。One of the DataRowVersion values that specifies the row version that you want. 指定できる値は、DefaultOriginalCurrent、および Proposed です。Possible values are Default, Original, Current, and Proposed.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

行がこのテーブルに属していません。The column does not belong to the table.

引数 column が null です。The column argument contains null.

このバージョンのデータが行にありません。The row does not have this version of data.

次の例では、コントロール内のクリックされたセルの現在の値を取得し DataGrid ます。The following example gets the current value of a clicked cell in the DataGrid control.

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]);
}
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.CurrentRowIndex)
    Dim column As DataColumn = dataGridTable.Columns(1)

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

注釈

は、 version プロパティと混同しないようにしてください RowStateThe version should not be confused with the RowState property. 引数は、列に version 格納されているデータの状態を、列の元の値に対して相対的に示します。The version argument describes the state of the data that is contained by the column relative to the column's original value.

プロパティを設定すると、イベントで例外が発生した場合に例外が生成され ColumnChanging ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これがただちに編集される場合は、「」を参照して、 EndEdit 生成できる例外を確認してください。If this is an immediate edit, see EndEdit for the exceptions that can be generated.

こちらもご覧ください

Item[Int32, DataRowVersion]

列に格納されている、取得するデータのインデックスとバージョンで指定したデータを取得します。Gets the data stored in the column, specified by index and version of the data to retrieve.

public:
 property System::Object ^ default[int, System::Data::DataRowVersion] { System::Object ^ get(int columnIndex, System::Data::DataRowVersion version); };
public object this[int columnIndex, System.Data.DataRowVersion version] { get; }
member this.Item(int * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnIndex As Integer, version As DataRowVersion) As Object

パラメーター

columnIndex
Int32

列の 0 から始まるインデックス番号。The zero-based index of the column.

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。One of the DataRowVersion values that specifies the row version that you want. 指定できる値は、DefaultOriginalCurrent、および Proposed です。Possible values are Default, Original, Current, and Proposed.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

引数 columnIndex が範囲外です。The columnIndex argument is out of range.

列と値のデータ型が一致しません。The data types of the value and the column do not match.

このバージョンのデータが行にありません。The row does not have this version of data.

削除した行に値を設定しようとしました。An attempt was made to set a value on a deleted row.

次の例では、オブジェクトのプロパティを使用して、列の現在の値を取得し Item[] DataRow ます。The following example gets the current value of a column through the Item[] property of the DataRow object.

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 編集をコミットするには、メソッドを呼び出す必要があります。You can only create or update a row after you call the BeginEdit method; similarly, the EndEdit method must be called to commit the edit. メソッドを呼び出した後、 EndEdit メソッドを呼び出す前に、 AcceptChanges 元の値と新しい提案された値の内部表現が格納されます。After you call the EndEdit method, and before you call the AcceptChanges method, internal representations of the original and new proposed values are stored. したがって、を呼び出すまでは、引数を使用して、 AcceptChanges version 必要な列の値のバージョン (または) を指定でき DataRowVersion.Original DataRowVersion.Proposed ます。Therefore, until you call the AcceptChanges, you can use the version argument to specify which version of a column's value you need, either the DataRowVersion.Original or DataRowVersion.Proposed. ただし、メソッドを呼び出すとすぐ AcceptChanges に、列のバージョンがに戻り DataRowVersion.Original ます。However, as soon as you call the AcceptChanges method, the version of the column reverts to DataRowVersion.Original. 行が新しい場合は、 DataRowVersion.Default パラメーターにを渡して、列の既定値を取得することもできます。If the row is new, you can also pass DataRowVersion.Default for the parameter to retrieve the column's default value. を渡すと DataRowVersion.Current 、プロパティは現在の値を返します。When passing DataRowVersion.Current, the property returns the current value, whatever its version may be.

注意

メソッドは、 BeginEdit データバインドコントロールの値を変更したとき、またはオブジェクトがに追加されたときに暗黙的に呼び出されます。メソッドは、 DataRow DataRowCollection EndEdit AcceptChanges オブジェクトのメソッド、 DataRow AcceptChanges オブジェクトのメソッド、 DataTable または CancelEdit メソッドを呼び出すと暗黙的に呼び出されます。The BeginEdit method is called implicitly when you change the value of a data-bound control or when a DataRow object is added to the DataRowCollection; the EndEdit method is called implicitly when you call the following methods: the AcceptChanges method of the DataRow object, the AcceptChanges method of the DataTable object, or the CancelEdit method.

これに対し、 DataRowVersion 列挙体は、 Current メソッドが呼び出された後にデータのバージョンを返し EndEdit ます。By contrast, the DataRowVersion enumeration Current returns the version of the data after the EndEdit method has been called.

version引数をプロパティと混同しないようにしてください RowStateThe version argument should not be confused with the RowState property. 引数は、列に version 格納されているデータの状態を、列の元の値に対して相対的に示します。The version argument describes the state of the data that is contained by the column relative to the column's original value. プロパティは、 RowState 親を基準とした行全体の状態を示し DataTable ます。The RowState property describes the state of the whole row relative to its parent DataTable.

プロパティを設定すると、イベントで例外が発生した場合に例外が生成され ColumnChanging ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これがただちに編集される場合は、「」を参照して、 EndEdit 生成できる例外を確認してください。If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[String, DataRowVersion]

指定した列に格納されているデータの指定したバージョンを取得します。Gets the specified version of data stored in the named column.

public:
 property System::Object ^ default[System::String ^, System::Data::DataRowVersion] { System::Object ^ get(System::String ^ columnName, System::Data::DataRowVersion version); };
public object this[string columnName, System.Data.DataRowVersion version] { get; }
member this.Item(string * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnName As String, version As DataRowVersion) As Object

パラメーター

columnName
String

列の名前。The name of the column.

version
DataRowVersion

行のバージョンを指定する DataRowVersion 値の 1 つ。One of the DataRowVersion values that specifies the row version that you want. 指定できる値は、DefaultOriginalCurrent、および Proposed です。Possible values are Default, Original, Current, and Proposed.

プロパティ値

Object

データを格納している ObjectAn Object that contains the data.

例外

columnName で指定した列が見つかりません。The column specified by columnName cannot be found.

列と値のデータ型が一致しません。The data types of the value and the column do not match.

このバージョンのデータが行にありません。The row does not have this version of data.

この行は削除されました。The row was deleted.

次の例では、コントロールのクリックされたセルで現在のバージョンのデータを取得し DataGrid ます。The following example gets the current version of data at a clicked cell of a DataGrid control.

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]);
}
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)

    ' Print the current value of the column named "FirstName."
    Console.WriteLine(currentRow("FirstName", _
        DataRowVersion.Current).ToString())
End Sub

注釈

バージョンをプロパティと混同しないようにしてください RowStateThe version should not be confused with the RowState property. 引数は、列に version 格納されているデータの状態を、列の元の値に対して相対的に示します。The version argument describes the state of the data that is contained by the column relative to the column's original value. プロパティは、 RowState 親を基準とした行全体の状態を示し DataTable ます。The RowState property describes the state of the whole row relative to its parent DataTable.

プロパティを設定すると、イベントで例外が発生した場合に例外が生成され ColumnChanging ます。When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

これがただちに編集される場合は、「」を参照して、 EndEdit 生成できる例外を確認してください。If this is an immediate edit, see EndEdit for the exceptions that can be generated.

こちらもご覧ください

適用対象