DataGridView のセルに書式を設定する - Visual C# プログラミング

PROGRAM


DataGridView のセルに書式を設定する

C# の DataGridView では、セルに書式を設定して、表示のされ方を調整することができます。

書式自体は、セルの Style プロパティの Format プロパティに設定します。

// 例えば最初の行の最初のセルに書式を設定したいとします。

DataGridViewCell cell = grid.Rows[0].Cells[0];

 

// このとき、このセルの書式は次のようにして設定します。

cell.Style.Format = @"#,##0.0 時間";

例えば、このようにすることで、そのセルに浮動小数点数の 3.5 を格納するだけで、表示は "3.5 時間" というような形になります。ついでに桁が多い場合には、3 桁区切りで表示するようにしてみています。

ここで指定できる書式は、例えば MSDN カスタム数値書式指定文字列 などのような、一般的な ToString メソッドの書式指定で使用できるものになります。

 

ここで注意したいのが、DataGridViewCell で扱うデータの形式を、あらかじめ適切なものにしておく必要があります。

そのためには、例えば CSV を読み込んで DataGridView に表示する で記したような、DataTable を作成してそれを DataGridView の DataSource として登録するような場面では、DataTable に列を登録する際に、次のように、そのセルで扱うデータ型を指定します。

// DataTable への列ヘッダーの登録の際に、列名と合わせてデータ型を指定します。

table.Columns.Add("勤務時間", typeof(float));

これで、上記の例ではこの列に float 型のデータを格納されることになったため、これで小数点数を意識した書式が設定されたときにも、適切な表示がされるようになります。

このデータ型の指定を忘れると、格納した値が文字列として扱われるようになるのか、小数点数用の書式を指定しても、無視されてしまう感じです。


[ もどる ]