DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue Property

Definición

Obtiene el valor de la celda con el formato para mostrar.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

Valor de propiedad

Valor con formato de la celda o null si la celda no pertenece a un control DataGridView.The formatted value of the cell or null if the cell does not belong to a DataGridView control.

Excepciones

ColumnIndex es menor que 0, lo que indica que la celda es una celda de encabezado de fila.ColumnIndex is less than 0, indicating that the cell is a row header cell.

La fila que contiene la celda es una fila compartida.The row containing the cell is a shared row.

o bien-or-

La celda es una celda de encabezado de columna.The cell is a column header cell.

Se ha producido un error al dar formato y, o bien no hay ningún controlador para el evento DataError del control DataGridView, o el controlador ha establecido la propiedad ThrowException en 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. El objeto de excepción normalmente se puede convertir al tipo FormatException.The exception object can typically be cast to type FormatException.

Ejemplos

En el ejemplo de código siguiente se muestra cómo FormattedValue utilizar la propiedad.The following code example demonstrates how to use the FormattedValue property. En este ejemplo, la IsCurrentCellDirty propiedad se usa para determinar si el contenido de la celda actual se ha editado y no se ha confirmado y, si la celda se ha FormattedValue modificado, se utiliza.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. Este ejemplo forma parte de un ejemplo más grande disponible en DataGridView.SelectionChanged el evento.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

Comentarios

La Value propiedad es el objeto de datos real que contiene la celda, FormattedValue mientras que es la representación con formato de este objeto.The Value property is the actual data object contained by the cell, whereas the FormattedValue is the formatted representation of this object. Las ValueType propiedades FormattedValueType y se corresponden con los tipos de datos de estos valores, respectivamente.The ValueType and FormattedValueType properties correspond to the data types of these values, respectively.

Al obtener el valor de esta propiedad, GetFormattedValue se llama al método para convertir el valor de la celda en un valor de presentación equivalente FormattedValueType del tipo indicado por la propiedad.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. Esto provoca el DataGridView.CellFormatting evento, que se puede controlar para personalizar la conversión de valores.This raises the DataGridView.CellFormatting event, which you can handle to customize the value conversion.

Si el formato no es correcto, se DataGridView.DataError produce el evento.If formatting is unsuccessful, the DataGridView.DataError event occurs. Si no hay ningún controlador para este evento o el controlador establece la DataGridViewDataErrorEventArgs.ThrowException propiedad en true, se produce una excepción.If there is no handler for this event or the handler sets the DataGridViewDataErrorEventArgs.ThrowException property to true, an exception is thrown.

Se aplica a

Consulte también: