Esta documentación está archivada y no tiene mantenimiento.

DataGridViewCell.EditedFormattedValue (Propiedad)

Obtiene el valor actual con formato de la celda, con independencia de si la celda está en modo de edición y no se ha confirmado el valor.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public Object EditedFormattedValue { get; }
/** @property */
public Object get_EditedFormattedValue ()

public function get EditedFormattedValue () : Object

No aplicable.

Valor de propiedad

Valor actual con formato de DataGridViewCell.

Tipo de excepciónCondición

ArgumentOutOfRangeException

La fila que contiene la celda es una fila compartida.

O bien

La celda es una celda de encabezado de columna.

InvalidOperationException

ColumnIndex es menor que 0, lo que indica que la celda es una celda de encabezado de fila.

Exception

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. El objeto de excepción normalmente se puede convertir en un tipo de FormatException.

Esta propiedad devuelve el valor actual de la celda o del control de edición si la celda está en modo de edición. De lo contrario, al obtener el valor de esta propiedad, se convierte el valor de la celda en un valor de presentación equivalente, del tipo indicado por la propiedad FormattedValueType. Esto provoca el evento DataGridView.CellFormatting, que se puede controlar para personalizar la conversión de valores.

Si la asignación de formato no se realiza correctamente, se produce el evento DataGridView.DataError. Si no hay un controlador para este evento o si el controlador establece la propiedad DataGridViewDataErrorEventArgs.ThrowException en true, se produce una excepción.

En el ejemplo de código siguiente se muestra cómo se utiliza la propiedad EditedFormattedValue. En este ejemplo, se utiliza la propiedad IsCurrentCellDirty para determinar si el contenido de la celda actual se ha modificado pero no se ha confirmado y, en el caso de que se haya modificado la celda, se utiliza el valor editado. Este ejemplo forma parte de un ejemplo más extenso que se proporciona en el evento DataGridView.SelectionChanged.

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

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: