注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。
例えば「100000」という数値データを「\100,000」と表示したり、「2003/5/1」という日時データを「2003年5月1日」と表示するために、テキストの書式(フォーマット)を指定する方法を紹介します。
セルのテキストの書式は、セルスタイル(DataGridViewCellStyleオブジェクト)のFormatプロパティに、ToStringメソッドなどで使用されるのと同じ書式指定文字列で指定します。なお、セルスタイルに関する知識の無い方は、まずは「DataGridViewにセルスタイルを設定する」をお読みください。
例えば、「Column1」という名前の列で「100000」が「\100,000」のように地域通貨の書式で表示されるようにするには、次のようにします。
'"Column1"列のセルのテキストの書式を地域通貨として指定する
DataGridView1.Columns("Column1").DefaultCellStyle.Format = "c"
//"Column1"列のセルのテキストの書式を地域通貨として指定する
DataGridView1.Columns["Column1"].DefaultCellStyle.Format = "c";
なお書式指定文字に関しては、「書式を指定して数値を文字列に変換する」や「日時(DateTimeオブジェクト)を文字列に変換する」などを参考にしてください。
DataGridViewCell.Valueプロパティは、セルの実際の値です。セルの表示用の書式化(フォーマット)された文字列(上記の例では、「\100,000」など)を取得するには、DataGridViewCell.FormattedValueプロパティ(または、DataGridViewCell.GetFormattedValueメソッド)を使います。FormattedValueプロパティの値の型は、DataGridViewCell.FormattedValueTypeプロパティで取得できます。
'セルの値を表示 Console.WriteLine(DataGridView1(0, 0).Value) 'セルの書式指定済みの値を表示 Console.WriteLine(DataGridView1(0, 0).FormattedValue)
//セルの値を表示 Console.WriteLine(DataGridView1[0, 0].Value); //セルの書式指定済みの値を表示 Console.WriteLine(DataGridView1[0, 0].FormattedValue);
書式のカルチャは、DataGridViewCellStyle.FormatProviderプロパティで指定できます。
次の例では、1列目と2列目の書式を地域通貨とし、2列目のカルチャを米国英語にしています。
'列のセルのテキストの書式を地域通貨として指定する DataGridView1.Columns(0).DefaultCellStyle.Format = "c" DataGridView1.Columns(1).DefaultCellStyle.Format = "c" '2列目のカルチャを変更する DataGridView1.Columns(1).DefaultCellStyle.FormatProvider = _ New System.Globalization.CultureInfo("en-US")
//列のセルのテキストの書式を地域通貨として指定する DataGridView1.Columns[0].DefaultCellStyle.Format = "c"; DataGridView1.Columns[1].DefaultCellStyle.Format = "c"; //2列目のカルチャを変更する DataGridView1.Columns[1].DefaultCellStyle.FormatProvider = new System.Globalization.CultureInfo("en-US");
この結果、例えば、次のようになります。
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。