DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue DataGridViewCell.FormattedValue Property

定義

表示用に書式指定済みのセル値を取得します。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

プロパティ値

書式指定済みのセル値。または、セルが DataGridView コントロールに属していない場合は nullThe formatted value of the cell or null if the cell does not belong to a DataGridView control.

例外

ColumnIndex が 0 未満です。これは、セルが行ヘッダーのセルであることを示します。ColumnIndex is less than 0, indicating that the cell is a row header cell.

セルを含む行が共有行です。The row containing the cell is a shared row.

または-or-

セルが列ヘッダーのセルです。The cell is a column header cell.

書式指定が失敗し、DataError コントロールの DataGridView イベントのハンドラーが定義されていないか、ハンドラーで ThrowException プロパティが 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. 通常、例外オブジェクトは型 FormatException にキャストできます。The exception object can typically be cast to type FormatException.

次のコード例は、プロパティのFormattedValue使用方法を示しています。The following code example demonstrates how to use the FormattedValue property. この例IsCurrentCellDirtyでは、プロパティを使用して、現在のセルの内容が編集され、コミットされていないかどうかを判断FormattedValueし、セルが変更されている場合はを使用します。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. この例は、 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

注釈

プロパティは、セルFormattedValueに含まれる実際のデータオブジェクトであり、はこのオブジェクトの書式設定された表現です。 ValueThe Value property is the actual data object contained by the cell, whereas the FormattedValue is the formatted representation of this object. プロパティValueTypeFormattedValueTypeプロパティは、これらの値のデータ型にそれぞれ対応します。The ValueType and FormattedValueType properties correspond to the data types of these values, respectively.

このプロパティの値を取得するにGetFormattedValueは、メソッドを呼び出しFormattedValueTypeて、セルの値を、プロパティで示される型の同等の表示値に変換します。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. これによりDataGridView.CellFormatting 、イベントが発生します。これを処理して、値の変換をカスタマイズできます。This raises the DataGridView.CellFormatting event, which you can handle to customize the value conversion.

書式設定に失敗DataGridView.DataErrorした場合は、イベントが発生します。If formatting is unsuccessful, the DataGridView.DataError event occurs. このイベントのハンドラーがない場合、またはハンドラーがDataGridViewDataErrorEventArgs.ThrowExceptionプロパティをにtrue設定した場合は、例外がスローされます。If there is no handler for this event or the handler sets the DataGridViewDataErrorEventArgs.ThrowException property to true, an exception is thrown.

適用対象

こちらもご覧ください