次の方法で共有


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:
 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

データが格納されている 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

適用対象

Item[Int32]

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

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

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 から始まるインデックス番号。

プロパティ値

データを格納している 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;
}
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 生成されます。

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

適用対象

Item[String]

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

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

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

列の名前。

プロパティ値

データを格納している 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;
}
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 生成されます。

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

適用対象

Item[DataColumn, DataRowVersion]

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

指定した 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

列に関する情報を格納する 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]);
}
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 プロパティと RowState 混同しないでください。 引数は version 、列の元の値に対する相対的な列に含まれるデータの状態を表します。

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

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

こちらもご覧ください

適用対象

Item[Int32, DataRowVersion]

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

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

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 から始まるインデックス番号。

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

適用対象

Item[String, DataRowVersion]

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

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

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

列の名前。

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

注釈

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

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

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

こちらもご覧ください

適用対象