DataGridViewCell.FormattedValue Propriété

Définition

Obtient la valeur de la cellule telle qu'elle est mise en forme pour l'affichage.Gets the value of the cell as formatted for display.

public:
 property System::Object ^ FormattedValue { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object FormattedValue { get; }
member this.FormattedValue : obj
Public ReadOnly Property FormattedValue As Object

Valeur de propriété

Valeur mise en forme de la cellule ou null si la cellule n'appartient pas à un contrôle DataGridView.The formatted value of the cell or null if the cell does not belong to a DataGridView control.

Attributs

Exceptions

ColumnIndex est inférieur à 0, ce qui indique que la cellule est une cellule d'en-tête de ligne.ColumnIndex is less than 0, indicating that the cell is a row header cell.

La ligne qui contient la cellule est une ligne partagée.The row containing the cell is a shared row.

-ou--or-

La cellule est une cellule d'en-tête de colonne.The cell is a column header cell.

La mise en forme a échoué et soit il n'y a aucun gestionnaire pour l'événement DataError du contrôle DataGridView, soit le gestionnaire a affecté ThrowException à la propriété true.Formatting failed and either there is no handler for the DataError event of the DataGridView control or the handler set the ThrowException property to true. L’objet exception peut généralement être converti en type FormatException.The exception object can typically be cast to type FormatException.

Exemples

L’exemple de code suivant montre comment utiliser la propriété FormattedValue.The following code example demonstrates how to use the FormattedValue property. Dans cet exemple, la propriété IsCurrentCellDirty est utilisée pour déterminer si le contenu de la cellule active a été modifié et non validé et, si la cellule a été modifiée, la FormattedValue est utilisée.In this example, the IsCurrentCellDirty property is used to determine if the current cell's contents have been edited and not committed and, if the cell has been modified, the FormattedValue is used. Cet exemple fait partie d’un exemple plus complet disponible dans l’événement DataGridView.SelectionChanged.This example is part of a larger example available in the DataGridView.SelectionChanged event.

private void UpdateLabelText()
{
    int WithdrawalTotal = 0;
    int DepositTotal = 0;
    int SelectedCellTotal = 0;
    int counter;

    // Iterate through all the rows and sum up the appropriate columns.
    for (counter = 0; counter < (DataGridView1.Rows.Count);
        counter++)
    {
        if (DataGridView1.Rows[counter].Cells["Withdrawals"].Value
            != null)
        {
            if (DataGridView1.Rows[counter].
                Cells["Withdrawals"].Value.ToString().Length != 0)
            {
                WithdrawalTotal += int.Parse(DataGridView1.Rows[counter].
                    Cells["Withdrawals"].Value.ToString());
            }
        }

        if (DataGridView1.Rows[counter].Cells["Deposits"].Value != null)
        {
            if (DataGridView1.Rows[counter]
                .Cells["Deposits"].Value.ToString().Length != 0)
            {
                DepositTotal += int.Parse(DataGridView1.Rows[counter]
                    .Cells["Deposits"].Value.ToString());
            }
        }
    }

    // Iterate through the SelectedCells collection and sum up the values.
    for (counter = 0;
        counter < (DataGridView1.SelectedCells.Count); counter++)
    {
        if (DataGridView1.SelectedCells[counter].FormattedValueType ==
            Type.GetType("System.String"))
        {
            string value = null;

            // If the cell contains a value that has not been commited,
            // use the modified value.
            if (DataGridView1.IsCurrentCellDirty == true)
            {

                value = DataGridView1.SelectedCells[counter]
                    .EditedFormattedValue.ToString();
            }
            else
            {
                value = DataGridView1.SelectedCells[counter]
                    .FormattedValue.ToString();
            }
            if (value != null)
            {
                // Ignore cells in the Description column.
                if (DataGridView1.SelectedCells[counter].ColumnIndex !=
                    DataGridView1.Columns["Description"].Index)
                {
                    if (value.Length != 0)
                    {
                        SelectedCellTotal += int.Parse(value);
                    }
                }
            }
        }
    }

    // Set the labels to reflect the current state of the DataGridView.
    Label1.Text = "Withdrawals Total: " + WithdrawalTotal.ToString();
    Label2.Text = "Deposits Total: " + DepositTotal.ToString();
    Label3.Text = "Selected Cells Total: " + SelectedCellTotal.ToString();
    Label4.Text = "Total entries: " + DataGridView1.RowCount.ToString();
}
Private Sub UpdateLabelText()
    Dim WithdrawalTotal As Integer = 0
    Dim DepositTotal As Integer = 0
    Dim SelectedCellTotal As Integer = 0
    Dim counter As Integer

    ' Iterate through all the rows and sum up the appropriate columns.
    For counter = 0 To (DataGridView1.Rows.Count - 1)
        If Not DataGridView1.Rows(counter) _
            .Cells("Withdrawals").Value Is Nothing Then

            If Not DataGridView1.Rows(counter) _
                .Cells("Withdrawals").Value.ToString().Length = 0 Then

                WithdrawalTotal += _
                    Integer.Parse(DataGridView1.Rows(counter) _
                    .Cells("Withdrawals").Value.ToString())
            End If
        End If

        If Not DataGridView1.Rows(counter) _
            .Cells("Deposits").Value Is Nothing Then

            If Not DataGridView1.Rows(counter) _
                .Cells("Deposits").Value.ToString().Length = 0 Then

                DepositTotal += _
                    Integer.Parse(DataGridView1.Rows(counter) _
                    .Cells("Deposits").Value.ToString())
            End If
        End If
    Next

    ' Iterate through the SelectedCells collection and sum up the values.
    For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
        If DataGridView1.SelectedCells(counter).FormattedValueType Is _
        Type.GetType("System.String") Then

            Dim value As String = Nothing

            ' If the cell contains a value that has not been commited,
            ' use the modified value.
            If (DataGridView1.IsCurrentCellDirty = True) Then

                value = DataGridView1.SelectedCells(counter) _
                    .EditedFormattedValue.ToString()
            Else

                value = DataGridView1.SelectedCells(counter) _
                    .FormattedValue.ToString()
            End If

            If value IsNot Nothing Then

                ' Ignore cells in the Description column.
                If Not DataGridView1.SelectedCells(counter).ColumnIndex = _
                    DataGridView1.Columns("Description").Index Then

                    If Not value.Length = 0 Then
                        SelectedCellTotal += Integer.Parse(value)
                    End If
                End If
            End If
        End If

    Next

    ' Set the labels to reflect the current state of the DataGridView.
    Label1.Text = "Withdrawals Total: " & WithdrawalTotal.ToString()
    Label2.Text = "Deposits Total: " & DepositTotal.ToString()
    Label3.Text = "Selected Cells Total: " & SelectedCellTotal.ToString()
    Label4.Text = "Total entries: " & DataGridView1.RowCount.ToString()
End Sub

Remarques

La propriété Value est l’objet de données réel contenu dans la cellule, tandis que le FormattedValue est la représentation mise en forme de cet objet.The Value property is the actual data object contained by the cell, whereas the FormattedValue is the formatted representation of this object. Les propriétés ValueType et FormattedValueType correspondent respectivement aux types de données de ces valeurs.The ValueType and FormattedValueType properties correspond to the data types of these values, respectively.

L’obtention de la valeur de cette propriété appelle la méthode GetFormattedValue pour convertir la valeur de cellule en une valeur d’affichage équivalente du type indiqué par la propriété FormattedValueType.Getting the value of this property calls the GetFormattedValue method to convert the cell value into an equivalent display value of the type indicated by the FormattedValueType property. Cela déclenche l’événement DataGridView.CellFormatting, que vous pouvez gérer pour personnaliser la conversion de valeur.This raises the DataGridView.CellFormatting event, which you can handle to customize the value conversion.

Si la mise en forme échoue, l’événement DataGridView.DataError se produit.If formatting is unsuccessful, the DataGridView.DataError event occurs. S’il n’existe aucun gestionnaire pour cet événement ou si le gestionnaire affecte la valeur trueà la propriété DataGridViewDataErrorEventArgs.ThrowException, une exception est levée.If there is no handler for this event or the handler sets the DataGridViewDataErrorEventArgs.ThrowException property to true, an exception is thrown.

S’applique à

Voir aussi