DataGridViewCell.FormattedValue Eigenschaft

Definition

Ruft den zum Anzeigen formatierten Wert der Zelle ab.Gets the value of the cell as formatted for display.

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

Eigenschaftswert

Der formatierte Wert der Zelle oder null, wenn die Zelle keinem DataGridView-Steuerelement angehört.The formatted value of the cell or null if the cell does not belong to a DataGridView control.

Attribute

Ausnahmen

ColumnIndex ist kleiner als 0 (null). Das bedeutet, dass die Zelle eine Zeilenheaderzelle darstellt.ColumnIndex is less than 0, indicating that the cell is a row header cell.

Die Zeile, die die Zelle enthält, stellt eine freigegebene Zeile dar.The row containing the cell is a shared row.

- oder --or-

Die Zelle stellt eine Spaltenheaderzelle dar.The cell is a column header cell.

Bei der Formatierung sind Fehler aufgetreten. Entweder ist kein Handler für das DataError-Ereignis des DataGridView-Steuerelements vorhanden, oder der Handler hat die ThrowException-Eigenschaft auf true festgelegt.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. Das Ausnahmeobjekt kann in der Regel in den Typ FormatException umgewandelt werden.The exception object can typically be cast to type FormatException.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der FormattedValue-Eigenschaft veranschaulicht.The following code example demonstrates how to use the FormattedValue property. In diesem Beispiel wird die IsCurrentCellDirty-Eigenschaft verwendet, um zu bestimmen, ob der Inhalt der aktuellen Zelle bearbeitet wurde und kein Commit ausgeführt wurde. wenn die Zelle geändert wurde, wird der FormattedValue verwendet.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 FormattedValue is used. Dieses Beispiel ist Teil eines größeren Beispiels, das im DataGridView.SelectionChanged-Ereignis verfügbar ist.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

Hinweise

Die Value-Eigenschaft ist das tatsächliche Datenobjekt, das in der Zelle enthalten ist, während der FormattedValue die formatierte Darstellung dieses Objekts ist.The Value property is the actual data object contained by the cell, whereas the FormattedValue is the formatted representation of this object. Die Eigenschaften ValueType und FormattedValueType entsprechen den Datentypen dieser Werte.The ValueType and FormattedValueType properties correspond to the data types of these values, respectively.

Wenn Sie den Wert dieser Eigenschaft erhalten, wird die GetFormattedValue-Methode aufgerufen, um den Zellwert in einen entsprechenden Anzeige Wert des Typs zu konvertieren, der durch die FormattedValueType-Eigenschaft angegeben wird.Getting the value of this property calls the GetFormattedValue method to convert the cell value into an equivalent display value of the type indicated by the FormattedValueType property. Dadurch wird das DataGridView.CellFormatting-Ereignis ausgelöst, das Sie zum Anpassen der Wert Konvertierung verarbeiten können.This raises the DataGridView.CellFormatting event, which you can handle to customize the value conversion.

Wenn die Formatierung nicht erfolgreich ist, tritt das DataGridView.DataError-Ereignis auf.If formatting is unsuccessful, the DataGridView.DataError event occurs. Wenn kein Handler für dieses Ereignis vorhanden ist oder der Handler die DataGridViewDataErrorEventArgs.ThrowException-Eigenschaft auf truefestlegt, wird eine Ausnahme ausgelöst.If there is no handler for this event or the handler sets the DataGridViewDataErrorEventArgs.ThrowException property to true, an exception is thrown.

Gilt für:

Siehe auch