DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

DataGridの列に値を表示するときの書式を指定する

DataGrid内のある列について、数値データ"100000"を"\100,000"と表示させたり、日時データ"2003/5/1"を"2003年5月1日"と表示させたいときには、その列のDataGridTextBoxColumn.Formatプロパティで適当なテキストの書式を指定してやります。この時、列スタイルが設定されている必要がありますので、その方法が分からない方はまずこちらをご覧ください。

ここではDataGrid1(DataGridオブジェクト)にDataTable1(DataTableオブジェクト、TableName="DataTable1")が連結されているものとし、数値データの"Column1"列と日時データの"Column2"列の書式を変更します。

なお書式指定文字に関しては、「書式を指定して数値を文字列に変換する」や「日時(DateTime型)を文字列に変換する」などを参考にしてください。

[VB.NET]
'DataGridTableStyleの取得
Dim ts As DataGridTableStyle
ts = DataGrid1.TableStyles("DataTable1")

'"Column1"のDataGridTextBoxColumnを取得
'"Column1"は数値データ
Dim cs1 As DataGridTextBoxColumn
cs1 = CType(ts.GridColumnStyles("Column1"), DataGridTextBoxColumn)
'値の書式を地域通貨として指定する
cs1.Format = "c"

'"Column2"のDataGridTextBoxColumnを取得
'"Column2"は日時データ
Dim cs2 As DataGridTextBoxColumn
cs2 = CType(ts.GridColumnStyles("Column2"), DataGridTextBoxColumn)
'値の書式を長い日付として指定する
cs2.Format = "D"
[C#]
//DataGridTableStyleの取得
DataGridTableStyle ts;
ts = DataGrid1.TableStyles["DataTable1"];

//"Column1"のDataGridTextBoxColumnを取得
//"Column1"は数値データ
DataGridTextBoxColumn cs1;
cs1 = (DataGridTextBoxColumn) ts.GridColumnStyles["Column1"];
//値の書式を地域通貨として指定する
cs1.Format = "c";

//"Column2"のDataGridTextBoxColumnを取得
//"Column2"は日時データ
DataGridTextBoxColumn cs2;
cs2 = (DataGridTextBoxColumn) ts.GridColumnStyles["Column2"];
//値の書式を長い日付として指定する
cs2.Format = "D";