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 型のデータを格納されることになったため、これで小数点数を意識した書式が設定されたときにも、適切な表示がされるようになります。
このデータ型の指定を忘れると、格納した値が文字列として扱われるようになるのか、小数点数用の書式を指定しても、無視されてしまう感じです。
[ もどる ]