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