DataRow.Item[] Propriété

Définition

Obtient ou définit les données stockées dans une colonne spécifiée.

Surcharges

Item[DataColumn]

Obtient ou définit les données stockées dans le DataColumn spécifié.

Item[Int32]

Obtient ou définit les données stockées dans la colonne spécifiée par l'index.

Item[String]

Obtient ou définit les données stockées dans la colonne spécifiée par son nom.

Item[DataColumn, DataRowVersion]

Obtient la version spécifiée des données stockées dans le DataColumn spécifié.

Item[Int32, DataRowVersion]

Obtient les données stockées dans la colonne, spécifiées par l'index et la version des données à récupérer.

Item[String, DataRowVersion]

Obtient la version spécifiée des données stockées dans la colonne nommée.

Item[DataColumn]

Obtient ou définit les données stockées dans le DataColumn spécifié.

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

Paramètres

column
DataColumn

DataColumn qui contient les données.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

La colonne n'appartient pas à cette table.

column a la valeur null.

Une tentative de définition d'une valeur sur une ligne supprimée a été effectuée.

Les types de données de la valeur et de la colonne ne correspondent pas.

Exemples

Les exemples suivants illustrent l’utilisation de la Item[] propriété pour obtenir et définir la valeur d’un index de colonne spécifique. Le premier exemple obtient la valeur de la première colonne d’une ligne sur laquelle un utilisateur clique dans un DataGrid contrôle. La deuxième définit une valeur passée en tant qu’argument à la méthode .

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

Remarques

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification immédiate, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

S’applique à

Item[Int32]

Obtient ou définit les données stockées dans la colonne spécifiée par l'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

Paramètres

columnIndex
Int32

Index de base zéro de la colonne.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

Se produit lorsque vous essayez de définir une valeur dans une ligne supprimée.

L'argument columnIndex est hors limites.

Se produit lorsque vous définissez la valeur et que le Type de la nouvelle valeur ne correspond pas à DataType.

Exemples

Les exemples suivants illustrent l’utilisation de la Item[] propriété pour obtenir et définir la valeur d’un index de colonne spécifique. Le premier exemple obtient la valeur de la première colonne d’une ligne sur laquelle un utilisateur clique dans un DataGrid contrôle.

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

Remarques

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

S’applique à

Item[String]

Obtient ou définit les données stockées dans la colonne spécifiée par son nom.

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

Paramètres

columnName
String

Nom de la colonne.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

La colonne spécifiée par columnName est introuvable.

Se produit lorsque vous essayez de définir une valeur dans une ligne supprimée.

Se produit lorsque vous définissez une valeur et que son Type ne correspond pas à DataType.

Se produit lorsque vous tentez d'insérer une valeur NULL dans une colonne où AllowDBNull a la valeur false.

Exemples

Les exemples suivants illustrent l’utilisation de la Item[] propriété pour obtenir et définir la valeur d’un index de colonne spécifique. Le premier exemple obtient la valeur de la première colonne d’une ligne sur laquelle un utilisateur clique dans un DataGrid contrôle. La deuxième définit une valeur passée en tant qu’argument à la méthode .

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

Remarques

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification immédiate, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

S’applique à

Item[DataColumn, DataRowVersion]

Obtient la version spécifiée des données stockées dans le DataColumn spécifié.

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

Paramètres

column
DataColumn

DataColumn qui contient des informations sur la colonne.

version
DataRowVersion

Une des valeurs DataRowVersion qui spécifie la version de ligne souhaitée. Les valeurs possibles sont Default, Original, Current et Proposed.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

La colonne n'appartient pas à la table.

L'argument column contient une valeur null.

La ligne ne possède pas cette version des données.

Exemples

L’exemple suivant obtient la valeur actuelle d’une cellule cliquée dans le DataGrid contrôle.

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

Remarques

Le version ne doit pas être confondu avec la RowState propriété . L’argument version décrit l’état des données contenues par la colonne par rapport à la valeur d’origine de la colonne.

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification immédiate, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

Voir aussi

S’applique à

Item[Int32, DataRowVersion]

Obtient les données stockées dans la colonne, spécifiées par l'index et la version des données à récupérer.

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

Paramètres

columnIndex
Int32

Index de base zéro de la colonne.

version
DataRowVersion

Une des valeurs DataRowVersion qui spécifie la version de ligne souhaitée. Les valeurs possibles sont Default, Original, Current et Proposed.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

L'argument columnIndex est hors limites.

Les types de données de la valeur et de la colonne ne correspondent pas.

La ligne ne possède pas cette version des données.

Une tentative de définition d'une valeur sur une ligne supprimée a été effectuée.

Exemples

L’exemple suivant obtient la valeur actuelle d’une colonne via la Item[] propriété de l’objet 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

Remarques

Vous ne pouvez créer ou mettre à jour une ligne qu’après avoir appelé la BeginEdit méthode ; de même, la EndEdit méthode doit être appelée pour valider la modification. Après avoir appelé la EndEdit méthode et avant d’appeler la AcceptChanges méthode, les représentations internes des valeurs d’origine et des nouvelles valeurs proposées sont stockées. Par conséquent, jusqu’à ce que vous appeliez , AcceptChangesvous pouvez utiliser l’argument version pour spécifier la version de la valeur d’une colonne dont vous avez besoin, soit le DataRowVersion.Original ou DataRowVersion.Proposed. Toutefois, dès que vous appelez la AcceptChanges méthode, la version de la colonne revient à DataRowVersion.Original. Si la ligne est nouvelle, vous pouvez également passer DataRowVersion.Default pour que le paramètre récupère la valeur par défaut de la colonne. Lors du passage DataRowVersion.Current, la propriété retourne la valeur actuelle, quelle que soit sa version.

Notes

La BeginEdit méthode est appelée implicitement lorsque vous modifiez la valeur d’un contrôle lié aux données ou lorsqu’un DataRow objet est ajouté à ; DataRowCollectionla EndEdit méthode est appelée implicitement lorsque vous appelez les méthodes suivantes : la AcceptChanges méthode de l’objet DataRow , la AcceptChanges méthode de l’objet DataTable ou la CancelEdit méthode.

En revanche, l’énumération DataRowVersionCurrent retourne la version des données une fois que la EndEdit méthode a été appelée.

L’argument version ne doit pas être confondu avec la RowState propriété . L’argument version décrit l’état des données contenues par la colonne par rapport à la valeur d’origine de la colonne. La RowState propriété décrit l’état de la ligne entière par rapport à son parent DataTable.

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification immédiate, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

S’applique à

Item[String, DataRowVersion]

Obtient la version spécifiée des données stockées dans la colonne nommée.

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

Paramètres

columnName
String

Nom de la colonne.

version
DataRowVersion

Une des valeurs DataRowVersion qui spécifie la version de ligne souhaitée. Les valeurs possibles sont Default, Original, Current et Proposed.

Valeur de propriété

Objet Object qui contient les données.

Exceptions

La colonne spécifiée par columnName est introuvable.

Les types de données de la valeur et de la colonne ne correspondent pas.

La ligne ne possède pas cette version des données.

La ligne a été supprimée.

Exemples

L’exemple suivant obtient la version actuelle des données dans une cellule cliquée d’un DataGrid contrôle.

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

Remarques

La version ne doit pas être confondue avec la RowState propriété . L’argument version décrit l’état des données contenues par la colonne par rapport à la valeur d’origine de la colonne. La RowState propriété décrit l’état de la ligne entière par rapport à son parent DataTable.

Lorsque vous définissez la propriété, une exception est générée si une exception se produit dans l’événement ColumnChanging .

S’il s’agit d’une modification immédiate, consultez EndEdit pour connaître les exceptions qui peuvent être générées.

Voir aussi

S’applique à