DataGridViewCellFormattingEventArgs Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt gegevens voor de CellFormatting gebeurtenis van een DataGridView.
public ref class DataGridViewCellFormattingEventArgs : System::Windows::Forms::ConvertEventArgs
public class DataGridViewCellFormattingEventArgs : System.Windows.Forms.ConvertEventArgs
type DataGridViewCellFormattingEventArgs = class
inherit ConvertEventArgs
Public Class DataGridViewCellFormattingEventArgs
Inherits ConvertEventArgs
- Overname
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u dit kunt afhandelen CellFormatting.
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
Opmerkingen
CellFormatting De gebeurtenis afhandelen om de conversie van een celwaarde aan te passen in een indeling die geschikt is voor weergave of om het uiterlijk van een cel aan te passen, afhankelijk van de status of waarde.
De CellFormatting gebeurtenis treedt elke keer op wanneer elke cel wordt geschilderd, dus u moet langdurige verwerking voorkomen bij het verwerken van deze gebeurtenis. Deze gebeurtenis treedt ook op wanneer de cel FormattedValue wordt opgehaald of de GetFormattedValue methode wordt aangeroepen.
Wanneer u de CellFormatting gebeurtenis verwerkt, wordt de ConvertEventArgs.Value eigenschap geïnitialiseerd met de celwaarde. Als u een aangepaste conversie van de celwaarde naar de weergavewaarde opgeeft, stelt u de ConvertEventArgs.Value eigenschap in op de geconverteerde waarde, zodat de nieuwe waarde van het type is dat is opgegeven door de celeigenschap FormattedValueType . Als u wilt aangeven dat er geen verdere waardeopmaak nodig is, stelt u de DataGridViewCellFormattingEventArgs.FormattingApplied eigenschap in op true.
Wanneer de gebeurtenis-handler is voltooid, of als dit ConvertEventArgs.Value niet het juiste type is null of als de DataGridViewCellFormattingEventArgs.FormattingApplied eigenschap is, wordt falsede Value notatie gebruikt met de Format, NullValue, en DataSourceNullValueFormatProvidereigenschappen van de celstijl geretourneerd door de DataGridViewCellFormattingEventArgs.CellStyle eigenschap, die wordt geïnitialiseerd met behulp van de celeigenschapInheritedStyle.
Ongeacht de waarde van de DataGridViewCellFormattingEventArgs.FormattingApplied eigenschap worden de weergave-eigenschappen van het object dat door de DataGridViewCellFormattingEventArgs.CellStyle eigenschap wordt geretourneerd, gebruikt om de cel weer te geven.
Zie CellFormatting voor meer informatie over aangepaste opmaak met de gebeurtenis .
Als u prestatiestraffen wilt voorkomen bij het verwerken van deze gebeurtenis, opent u de cel via de parameters van de gebeurtenis-handler in plaats van rechtstreeks toegang te krijgen tot de cel.
Als u de conversie van een opgemaakte, door de gebruiker opgegeven waarde in een werkelijke celwaarde wilt aanpassen, verwerkt u de CellParsing gebeurtenis.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.
Constructors
| Name | Description |
|---|---|
| DataGridViewCellFormattingEventArgs(Int32, Int32, Object, Type, DataGridViewCellStyle) |
Initialiseert een nieuw exemplaar van de DataGridViewCellFormattingEventArgs klasse. |
Eigenschappen
| Name | Description |
|---|---|
| CellStyle |
Hiermee haalt u de stijl op van de cel die wordt opgemaakt of stelt u deze in. |
| ColumnIndex |
Hiermee haalt u de kolomindex op van de cel die wordt opgemaakt. |
| DesiredType |
Hiermee haalt u het gegevenstype van de gewenste waarde op. (Overgenomen van ConvertEventArgs) |
| FormattingApplied |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de celwaarde is opgemaakt. |
| RowIndex |
Hiermee haalt u de rijindex op van de cel die wordt opgemaakt. |
| Value |
Hiermee haalt of stelt u de waarde van de ConvertEventArgs. (Overgenomen van ConvertEventArgs) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Van toepassing op
Zie ook
- DataGridView
- CellFormatting
- CellParsing
- DefaultCellStyle
- OnCellFormatting(DataGridViewCellFormattingEventArgs)
- DataGridViewCellStyle
- Format
- FormatProvider
- NullValue
- DataSourceNullValue
- InheritedStyle
- FormattedValue
- FormattedValueType
- GetFormattedValue(Object, Int32, DataGridViewCellStyle, TypeConverter, TypeConverter, DataGridViewDataErrorContexts)
- DataGridViewCellFormattingEventHandler
- FormattingApplied
- CellStyle
- Systeem. Windows. Forms.DataGridViewCell.Value
- Systeem. Windows. Forms.ConvertEventArgs.Value
- Celstijlen in het Windows Forms DataGridView-besturingselement
- Handleiding: Gegevensindeling aanpassen in het Windows Forms DataGridView-besturingselement