注意:ここで紹介している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オブジェクト)を文字列に変換する」などを参考にしてください。
'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"
//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";
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。