Questo argomento non è stato ancora valutato - Valuta questo argomento

Proprietà DataGridViewCell.EditedFormattedValue

Nota: questa proprietà è stata introdotta con .NET Framework versione 2.0.

Ottiene il valore formattato corrente della cella, indipendentemente dal fatto che la cella sia in modalità di modifica e che non sia stato eseguito il commit del valore.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

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

public function get EditedFormattedValue () : Object

Valore proprietà

Valore formattato corrente della classe DataGridViewCell.
Tipo di eccezioneCondizione

ArgumentOutOfRangeException

La riga contenente la cella è condivisa.

-oppure-

La cella è una cella di intestazione di colonna.

InvalidOperationException

La proprietà ColumnIndex è minore di 0, a indicare che la cella è un cella di intestazione di riga.

Exception

La formattazione non è riuscita e non esiste alcun gestore per l'evento DataError del controllo DataGridView oppure il gestore ha impostato la proprietà ThrowException su true. L'oggetto dell'eccezione può solitamente essere convertito nel tipo FormatException.

Questa proprietà restituisce il valore corrente della cella o del controllo di modifica se la cella è in modalità di modifica. In caso contrario, l'ottenimento del valore di questa proprietà converte il valore della cella in un valore di visualizzazione equivalente del tipo indicato dalla proprietà FormattedValueType. In tal modo viene generato l'evento DataGridView.CellFormatting, che è possibile gestire in modo da personalizzare la conversione del valore.

Se la formattazione viene eseguita correttamente, viene generato l'evento DataGridView.DataError. Se non è presente alcun gestore per l'evento o se il gestore imposta la proprietà DataGridViewDataErrorEventArgs.ThrowException su true, viene generata un'eccezione.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la proprietà EditedFormattedValue. In questo esempio, viene utilizzata la proprietà IsCurrentCellDirty per determinare se il contenuto della cella corrente è stato modificato senza aver eseguito il commit e, nel caso in cui la cella sia stata modificata, viene utilizzato il valore modificato.

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 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
© 2013 Microsoft. Tutti i diritti riservati.