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

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

注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。

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";

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。