DataGridViewCell.FormattedValue Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la valeur de la cellule comme mise en forme pour l’affichage.
public:
property System::Object ^ FormattedValue { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object FormattedValue { get; }
[System.ComponentModel.Browsable(false)]
public object? FormattedValue { get; }
[<System.ComponentModel.Browsable(false)>]
member this.FormattedValue : obj
Public ReadOnly Property FormattedValue As Object
Valeur de propriété
Valeur mise en forme de la cellule ou null si la cellule n’appartient pas à un DataGridView contrôle.
- Attributs
Exceptions
ColumnIndex est inférieur à 0, indiquant que la cellule est une cellule d’en-tête de ligne.
La ligne contenant la cellule est une ligne partagée.
- ou -
La cellule est une cellule d’en-tête de colonne.
La mise en forme a échoué et il n’existe aucun gestionnaire pour l’événement DataError du DataGridView contrôle ou le gestionnaire a défini la ThrowException propriété truesur . L’objet d’exception peut généralement être converti en type FormatException.
Exemples
L’exemple de code suivant montre comment utiliser la FormattedValue propriété. Dans cet exemple, la IsCurrentCellDirty propriété est utilisée pour déterminer si le contenu de la cellule active a été modifié et non validé et, si la cellule a été modifiée, elle FormattedValue est utilisée. Cet exemple fait partie d’un exemple plus large disponible dans l’événement 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)
{
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
Remarques
La Value propriété est l’objet de données réel contenu par la cellule, tandis que la FormattedValue représentation mise en forme de cet objet. Les ValueType propriétés et FormattedValueType les types de données de ces valeurs correspondent respectivement.
L’obtention de la valeur de cette propriété appelle la GetFormattedValue méthode pour convertir la valeur de cellule en valeur d’affichage équivalente du type indiqué par la FormattedValueType propriété. Cela déclenche l’événement DataGridView.CellFormatting , que vous pouvez gérer pour personnaliser la conversion de valeur.
Si la mise en forme échoue, l’événement DataGridView.DataError se produit. S’il n’existe aucun gestionnaire pour cet événement ou si le gestionnaire définit la DataGridViewDataErrorEventArgs.ThrowException propriété truesur , une exception est levée.