作成日: 2022/07/15 最終更新日: 2022/07/15
文書種別
使用方法
詳細
FlexGridで日付型を設定するには、DataTypeプロパティをDateTimeに設定します。
また表示形式を変更するには、Formatプロパティに、NET Framework標準の書式指定文字列を設定します。
なお、FlexGridには行を表すRowクラスと列を表すColumnクラスは存在しますが、直接セルを表す「Cellクラス」は存在しないため、任意のセルを指定するには、SetCellStyleメソッドまたはGetCellRangeを使用します。
以下に、特定のセルを日付型に設定し、「秒」まで表示するための3通りの方法を紹介します。

(1)カスタムスタイルをセルに適用する方法(SetCellStyleメソッドを使用)
◎サンプルコード(VB)
(2)カスタムスタイルをセルに適用する方法(GetCellRangeとStyleプロパティを使用)
◎サンプルコード(VB)
(3)セルのStyleNewプロパティを使用する方法
◎サンプルコード(VB)
上記以外にもよく使われる書式指定文字列をいくつか記載します。
また表示形式を変更するには、Formatプロパティに、NET Framework標準の書式指定文字列を設定します。
なお、FlexGridには行を表すRowクラスと列を表すColumnクラスは存在しますが、直接セルを表す「Cellクラス」は存在しないため、任意のセルを指定するには、SetCellStyleメソッドまたはGetCellRangeを使用します。
以下に、特定のセルを日付型に設定し、「秒」まで表示するための3通りの方法を紹介します。

(1)カスタムスタイルをセルに適用する方法(SetCellStyleメソッドを使用)
◎サンプルコード(VB)
c1FlexGrid1.Styles.Add("dtStyle1")
c1FlexGrid1.Styles("dtStyle1").DataType = GetType(DateTime)
c1FlexGrid1.Styles("dtStyle1").Format = "yyyy/MM/dd HH:mm:ss"
c1FlexGrid1.SetCellStyle(1, 1, "dtStyle1")
c1FlexGrid1(1, 1) = DateTime.Now
◎サンプルコード(C#)
c1FlexGrid1.Styles.Add("dtStyle1");
c1FlexGrid1.Styles["dtStyle1"].DataType = typeof(DateTime); //日付型の設定
c1FlexGrid1.Styles["dtStyle1"].Format = "yyyy/MM/dd HH:mm:ss"; //秒まで表示
c1FlexGrid1.SetCellStyle(1, 1, "dtStyle1");
c1FlexGrid1[1, 1] = DateTime.Now;
(2)カスタムスタイルをセルに適用する方法(GetCellRangeとStyleプロパティを使用)
◎サンプルコード(VB)
c1FlexGrid1(1, 1) = DateTime.Now
c1FlexGrid1.Styles.Add("dtStyle2")
c1FlexGrid1.Styles("dtStyle2").DataType = GetType(DateTime)
c1FlexGrid1.Styles("dtStyle2").Format = "yyyy/MM/dd HH:mm:ss"
Dim cr As C1.Win.C1FlexGrid.CellRange = c1FlexGrid1.GetCellRange(1, 2)
cr.Style = c1FlexGrid1.Styles("dtStyle2")
c1FlexGrid1(1, 2) = DateTime.Now
◎サンプルコード(C#)
c1FlexGrid1.Styles.Add("dtStyle2");
c1FlexGrid1.Styles["dtStyle2"].DataType = typeof(DateTime); //日付型の設定
c1FlexGrid1.Styles["dtStyle2"].Format = "yyyy/MM/dd HH:mm:ss"; //秒まで表示
CellRange cr = c1FlexGrid1.GetCellRange(1, 2);
cr.Style = c1FlexGrid1.Styles["dtStyle2"];
c1FlexGrid1[1, 2] = DateTime.Now;
(3)セルのStyleNewプロパティを使用する方法
◎サンプルコード(VB)
c1FlexGrid1.GetCellRange(1, 3).StyleNew.DataType = GetType(DateTime)
c1FlexGrid1.GetCellRange(1, 3).Style.Format = "yyyy/MM/dd HH:mm:ss"
c1FlexGrid1(1, 3) = DateTime.Now
◎サンプルコード(C#)
c1FlexGrid1.GetCellRange(1, 3).StyleNew.DataType = typeof(DateTime); //日付型の設定
c1FlexGrid1.GetCellRange(1, 3).Style.Format = "yyyy/MM/dd HH:mm:ss"; //秒まで表示
c1FlexGrid1[1, 3] = DateTime.Now;
上記以外にもよく使われる書式指定文字列をいくつか記載します。
| d | 短い日付(例:"2022/07/15") |
| D | 長い日付(例:"2022年7月15日") |
| t | 短い形式の時刻(例:"13:15") |
| T | 長い形式の時刻(例:"13:15:30") |
| M月dd日 | 月日(例:"7月15日") |
| ddd | 曜日(例:"金") |
| dddd | 曜日(例:"金曜日") |
| tt hh:mm:ss | 12時間形式(例:"午後 01:15:30") |
| tt h時m分s秒 | 12時間形式(例:"午後 1時15分30秒") |