DataGridViewCell.EditedFormattedValue Właściwość

Definicja

Pobiera bieżącą, sformatowaną wartość komórki, bez względu na to, czy komórka jest w trybie edycji, a wartość nie została zatwierdzona.Gets the current, formatted value of the cell, regardless of whether the cell is in edit mode and the value has not been committed.

public:
 property System::Object ^ EditedFormattedValue { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object EditedFormattedValue { get; }
member this.EditedFormattedValue : obj
Public ReadOnly Property EditedFormattedValue As Object

Wartość właściwości

Bieżąca sformatowana wartość DataGridViewCell.The current, formatted value of the DataGridViewCell.

Atrybuty

Wyjątki

Wiersz zawierający komórkę jest wierszem udostępnionym.The row containing the cell is a shared row.

lub-or-

Komórka jest komórką nagłówka kolumny.The cell is a column header cell.

ColumnIndex jest mniejsza niż 0, co oznacza, że komórka jest komórką nagłówka wiersza.ColumnIndex is less than 0, indicating that the cell is a row header cell.

Formatowanie nie powiodło się i nie ma procedury obsługi dla zdarzenia DataError kontrolki DataGridView lub program obsługi ustawił Właściwość ThrowException na 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. Obiekt wyjątku może być zazwyczaj rzutowany na typ FormatException.The exception object can typically be cast to type FormatException.

Przykłady

Poniższy przykład kodu demonstruje sposób użycia właściwości EditedFormattedValue.The following code example demonstrates how to use the EditedFormattedValue property. W tym przykładzie właściwość IsCurrentCellDirty jest używana do określenia, czy zawartość bieżącej komórki została edytowana i nie została zatwierdzona, a jeśli komórka została zmodyfikowana, zostanie użyta edytowana wartość.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 edited value is used. Ten przykład jest częścią większego przykładu dostępnego w zdarzeniu DataGridView.SelectionChanged.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

Uwagi

Ta właściwość zwraca bieżącą wartość komórki lub kontrolki edycji, jeśli komórka jest w trybie edycji.This property returns the current value of the cell or editing control if the cell is in edit mode. W przeciwnym razie, pobranie wartości tej właściwości spowoduje przekonwertowanie wartości komórki na równoważną wartość wyświetlaną typu wskazywanego przez właściwość FormattedValueType.Otherwise, getting the value of this property converts the cell value into an equivalent display value of the type indicated by the FormattedValueType property. Wywołuje zdarzenie DataGridView.CellFormatting, które można obsłużyć w celu dostosowania konwersji wartości.This raises the DataGridView.CellFormatting event, which you can handle to customize the value conversion.

Jeśli formatowanie nie powiedzie się, wystąpi zdarzenie DataGridView.DataError.If formatting is unsuccessful, the DataGridView.DataError event occurs. Jeśli nie ma obsługi dla tego zdarzenia lub program obsługi ustawi właściwość DataGridViewDataErrorEventArgs.ThrowException na true, zostanie zgłoszony wyjątek.If there is no handler for this event or the handler sets the DataGridViewDataErrorEventArgs.ThrowException property to true, an exception is thrown.

Dotyczy

Zobacz też