Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

DataGridViewCell.FormattedValue (Propiedad)

Obtiene el valor de la celda con el formato para mostrar.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
[BrowsableAttribute(false)]
public Object FormattedValue { get; }

Valor de propiedad

Tipo: System.Object
Valor con formato de la celda o null si la celda no pertenece a un control DataGridView.
Excepción Condición
InvalidOperationException

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

ArgumentOutOfRangeException

La fila que contiene la celda es una fila compartida.

O bien

La celda es una celda de encabezado de columna.

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.

La propiedad Value es el objeto de datos real que contiene la celda, mientras que la propiedad FormattedValue es la representación con formato de este objeto. Las propiedades ValueType y FormattedValueType corresponden a los tipos de datos de estos valores, respectivamente.

Al obtener el valor de esta propiedad, se llama al método GetFormattedValue para convertir el valor de la celda en un valor de presentación equivalente, del tipo que indica 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 FormattedValue. En el 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 FormattedValue. 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();
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar