DataGridViewCellFormattingEventArgs.FormattingApplied 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 ou définit une valeur indiquant si la valeur de cellule a été mise en forme avec succès.
public:
property bool FormattingApplied { bool get(); void set(bool value); };
public bool FormattingApplied { get; set; }
member this.FormattingApplied : bool with get, set
Public Property FormattingApplied As Boolean
Valeur de propriété
true
si la mise en forme de la valeur de la cellule a été gérée ; sinon, false
. La valeur par défaut est false
.
Exemples
L’exemple de code suivant définit la FormattingApplied propriété sur true
pour signaler que la mise en forme de cette cellule est terminée.
void dataGridView1_CellFormatting( Object^ /*sender*/, DataGridViewCellFormattingEventArgs^ e )
{
// If the column is the Artist column, check the
// value.
if ( this->dataGridView1->Columns[ e->ColumnIndex ]->Name->Equals( "Artist" ) )
{
if ( e->Value != nullptr )
{
// Check for the string "pink" in the cell.
String^ stringValue = dynamic_cast<String^>(e->Value);
stringValue = stringValue->ToLower();
if ( (stringValue->IndexOf( "pink" ) > -1) )
{
DataGridViewCellStyle^ pinkStyle = gcnew DataGridViewCellStyle;
//Change the style of the cell.
pinkStyle->BackColor = Color::Pink;
pinkStyle->ForeColor = Color::Black;
pinkStyle->Font = gcnew System::Drawing::Font( "Times New Roman",8,FontStyle::Bold );
e->CellStyle = pinkStyle;
}
}
}
else
if ( this->dataGridView1->Columns[ e->ColumnIndex ]->Name->Equals( "Release Date" ) )
{
ShortFormDateFormat( e );
}
}
//Even though the date internaly stores the year as YYYY, using formatting, the
//UI can have the format in YY.
void ShortFormDateFormat( DataGridViewCellFormattingEventArgs^ formatting )
{
if ( formatting->Value != nullptr )
{
try
{
System::Text::StringBuilder^ dateString = gcnew System::Text::StringBuilder;
DateTime theDate = DateTime::Parse( formatting->Value->ToString() );
dateString->Append( theDate.Month );
dateString->Append( "/" );
dateString->Append( theDate.Day );
dateString->Append( "/" );
dateString->Append( theDate.Year.ToString()->Substring( 2 ) );
formatting->Value = dateString->ToString();
formatting->FormattingApplied = true;
}
catch ( Exception^ /*notInDateFormat*/ )
{
// Set to false in case there are other handlers interested trying to
// format this DataGridViewCellFormattingEventArgs instance.
formatting->FormattingApplied = false;
}
}
}
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// If the column is the Artist column, check the
// value.
if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Artist")
{
if (e.Value != null)
{
// Check for the string "pink" in the cell.
string stringValue = (string)e.Value;
stringValue = stringValue.ToLower();
if ((stringValue.IndexOf("pink") > -1))
{
e.CellStyle.BackColor = Color.Pink;
}
}
}
else if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Release Date")
{
ShortFormDateFormat(e);
}
}
//Even though the date internaly stores the year as YYYY, using formatting, the
//UI can have the format in YY.
private static void ShortFormDateFormat(DataGridViewCellFormattingEventArgs formatting)
{
if (formatting.Value != null)
{
try
{
System.Text.StringBuilder dateString = new System.Text.StringBuilder();
DateTime theDate = DateTime.Parse(formatting.Value.ToString());
dateString.Append(theDate.Month);
dateString.Append("/");
dateString.Append(theDate.Day);
dateString.Append("/");
dateString.Append(theDate.Year.ToString().Substring(2));
formatting.Value = dateString.ToString();
formatting.FormattingApplied = true;
}
catch (FormatException)
{
// Set to false in case there are other handlers interested trying to
// format this DataGridViewCellFormattingEventArgs instance.
formatting.FormattingApplied = false;
}
}
}
Private Sub dataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As DataGridViewCellFormattingEventArgs) _
Handles dataGridView1.CellFormatting
' If the column is the Artist column, check the
' value.
If Me.dataGridView1.Columns(e.ColumnIndex).Name _
= "Artist" Then
If e.Value IsNot Nothing Then
' Check for the string "pink" in the cell.
Dim stringValue As String = _
CType(e.Value, String)
stringValue = stringValue.ToLower()
If ((stringValue.IndexOf("pink") > -1)) Then
e.CellStyle.BackColor = Color.Pink
End If
End If
ElseIf Me.dataGridView1.Columns(e.ColumnIndex).Name _
= "Release Date" Then
ShortFormDateFormat(e)
End If
End Sub
'Even though the date internaly stores the year as YYYY, using formatting, the
'UI can have the format in YY.
Private Shared Sub ShortFormDateFormat(ByVal formatting As DataGridViewCellFormattingEventArgs)
If formatting.Value IsNot Nothing Then
Try
Dim dateString As System.Text.StringBuilder = New System.Text.StringBuilder()
Dim theDate As Date = DateTime.Parse(formatting.Value.ToString())
dateString.Append(theDate.Month)
dateString.Append("/")
dateString.Append(theDate.Day)
dateString.Append("/")
dateString.Append(theDate.Year.ToString().Substring(2))
formatting.Value = dateString.ToString()
formatting.FormattingApplied = True
Catch notInDateFormat As FormatException
' Set to false in case there are other handlers interested trying to
' format this DataGridViewCellFormattingEventArgs instance.
formatting.FormattingApplied = False
End Try
End If
End Sub
Remarques
Lors de la gestion de l’événement CellFormatting , définissez la FormattingApplied propriété true
sur après avoir défini la Value propriété si aucune autre mise en forme de valeur n’est requise. Si la valeur de la FormattingApplied propriété est false
au moment où le gestionnaire d’événements se termine, la mise en forme est appliquée à la valeur comme indiqué par les Formatpropriétés , FormatProvider, NullValueet DataSourceNullValue de l’objet DataGridViewCellStyle retourné par la CellStyle propriété .