Questa documentazione è stata archiviata e non viene gestita.

Proprietà DataGridViewCell.EditedFormattedValue

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

Non applicabile.

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. Questo esempio fa parte di un esempio più esaustivo disponibile nell'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 Server 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

Microsoft .NET Framework 3.0 è supportato in Windows Vista, Microsoft Windows XP SP2 e Windows Server 2003 SP1.

.NET Framework

Supportato in:
Mostra: