DataGridViewCellFormattingEventArgs コンストラクタ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Sub New ( _ columnIndex As Integer, _ rowIndex As Integer, _ value As Object, _ desiredType As Type, _ cellStyle As DataGridViewCellStyle _ )
Dim columnIndex As Integer Dim rowIndex As Integer Dim value As Object Dim desiredType As Type Dim cellStyle As DataGridViewCellStyle Dim instance As New DataGridViewCellFormattingEventArgs(columnIndex, rowIndex, value, desiredType, cellStyle)
public DataGridViewCellFormattingEventArgs ( int columnIndex, int rowIndex, Object value, Type desiredType, DataGridViewCellStyle cellStyle )
public: DataGridViewCellFormattingEventArgs ( int columnIndex, int rowIndex, Object^ value, Type^ desiredType, DataGridViewCellStyle^ cellStyle )
public DataGridViewCellFormattingEventArgs ( int columnIndex, int rowIndex, Object value, Type desiredType, DataGridViewCellStyle cellStyle )
public function DataGridViewCellFormattingEventArgs ( columnIndex : int, rowIndex : int, value : Object, desiredType : Type, cellStyle : DataGridViewCellStyle )


desiredType パラメータは value パラメータの変換後の型を表し、セルの FormattedValueType プロパティには desiredType が割り当てられます。たとえば、セルで画像名をビットマップとして書式指定する場合、value は画像名を含む String であり、desiredType は Bitmap 型を表す Type です。
CellFormatting イベントのハンドラで、Value プロパティがセルに表示可能な型に設定されない場合、セルの内容は、Format、NullValue、および FormatProvider の各プロパティに従って書式指定されます。

DataGridViewCellFormattingEventArgs を使用する方法を次のコード例に示します。
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
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; } } }
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; } } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewCellFormattingEventArgs クラス
DataGridViewCellFormattingEventArgs メンバ
System.Windows.Forms 名前空間
DataGridView クラス
DataGridView.CellFormatting イベント
DataGridView.OnCellFormatting
DataGridViewCellStyle
DataGridViewCell.InheritedStyle プロパティ
DataGridViewCell.Value プロパティ
DataGridViewCell.FormattedValue プロパティ
DataGridViewCell.FormattedValueType プロパティ
CellStyle
ConvertEventArgs.Value プロパティ
その他の技術情報
Windows フォーム DataGridView コントロールでのセルのスタイル
- DataGridViewCellFormattingEventArgs コンストラクタのページへのリンク