PowerTools MultiRow for Windows Forms 8.0J > InputManCellの使い方 > GcDateTimeCell > 書式の設定 > キーワードによる書式設定 |
ここでは、キーワードによる書式設定について説明します。
GcDateTimeCellでは、日付のキーワードを設定することで書式を設定することができます。 フィールドオブジェクトによる書式設定のように柔軟なスタイル設定が不要な場合、入力および表示書式についてそれぞれ1度のメソッド実行だけで定義できるため、簡単な実装が可能です。
キーワードによる書式設定は、El Tabelle MultiRow 4.0J の日付型セルで利用されていた方法と同様の方法です。 |
入力書式を設定するには、Fieldsプロパティが参照する DateTimeFieldCollectionクラスのAddRangeメソッドに、入力書式用のキーワードを使用した文字列を設定します。
表示書式を設定するには、DisplayFieldsプロパティが参照する DateTimeDisplayFieldCollectionクラスのAddRangeメソッドに、表示書式用のキーワードを使用した文字列を設定します。
Imports GrapeCity.Win.MultiRow Imports InputManCell = GrapeCity.Win.MultiRow.InputMan Dim GcDateTimeCell1 As New InputManCell.GcDateTimeCell() GcDateTimeCell1.Name = "GcDateTimeCell1" GcDateTimeCell1.Size = New Size(180, 20) ' フィールドをクリアします。 GcDateTimeCell1.Fields.Clear() GcDateTimeCell1.DisplayFields.Clear() ' キーワードから書式を設定します。 GcDateTimeCell1.Fields.AddRange("yyyy年 MM月 dd日 HH時 mm分 ss秒") GcDateTimeCell1.DisplayFields.AddRange("ggg ee年 MM月 dd日 HH時 mm分 ss秒") GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcDateTimeCell1}) GcMultiRow1.RowCount = 5
using GrapeCity.Win.MultiRow; using InputManCell = GrapeCity.Win.MultiRow.InputMan; InputManCell.GcDateTimeCell gcDateTimeCell1 = new InputManCell.GcDateTimeCell(); gcDateTimeCell1.Name = "gcDateTimeCell1"; gcDateTimeCell1.Size = new Size(180, 20); // フィールドをクリアします。 gcDateTimeCell1.Fields.Clear(); gcDateTimeCell1.DisplayFields.Clear(); // キーワードから書式を設定します。 gcDateTimeCell1.Fields.AddRange("yyyy年 MM月 dd日 HH時 mm分 ss秒"); gcDateTimeCell1.DisplayFields.AddRange("ggg ee年 MM月 dd日 HH時 mm分 ss秒"); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcDateTimeCell1 }); gcMultiRow1.RowCount = 5;
なお、AddRangeメソッドにより書式を設定する場合でも、自動的にフィールドオブジェクトに変換されているため、設定後に特定のフィールドスタイルを変更することが可能です。
次のサンプルコードは、キーワードにより設定した日付書式で特定のフィールドのスタイルを設定する例です。
' 入力書式フィールドのスタイルを設定します。 GcDateTimeCell1.Fields(0).BackColor = Color.Bisque GcDateTimeCell1.Fields(1).ForeColor = Color.DarkGray GcDateTimeCell1.Fields(2).Font = New Font("Meiryo UI", 12) ' 表示書式フィールドのスタイルを設定します。 GcDateTimeCell1.DisplayFields(0).Font = New Font("MS ゴシック", 15) GcDateTimeCell1.DisplayFields(1).BackColor = Color.Yellow GcDateTimeCell1.DisplayFields(2).ForeColor = Color.Gray
// 入力書式フィールドのスタイルを設定します。 gcDateTimeCell1.Fields[0].BackColor = Color.Bisque; gcDateTimeCell1.Fields[1].ForeColor = Color.DarkGray; gcDateTimeCell1.Fields[2].Font = new Font("Meiryo UI", 12); // 表示書式フィールドのスタイルを設定します。 gcDateTimeCell1.DisplayFields[0].Font = new Font("MS ゴシック", 15); gcDateTimeCell1.DisplayFields[1].BackColor = Color.Yellow; gcDateTimeCell1.DisplayFields[2].ForeColor = Color.Gray;
デザイン画面では「入力書式の設定」「表示書式の設定」エディタを使用して容易な設定が可能です。これらのエディタは次のいずれかの方法で起動でき、 日付時刻のキーワードを設定することで書式を作成します。
入力書式
表示書式
個々のフィールドのプロパティは設定できませんが、和暦表示や「年」「月」「日」などのリテラル文字を使用した書式が予めビルトイン書式として用意されているため、これらのリストから書式を選択するだけで簡単に書式を定義することが可能です。
入力書式として使用可能なキーワードは以下のとおりです。
キーワード | 説明 |
---|---|
g | 年号の頭文字をアルファベットで表示(M、T、S、H) |
gg | 年号の頭文字を漢字で表示(明、大、昭、平) |
ggg | 年号の正式名称を漢字で表示(明治、大正、昭和、平成) |
e | 和暦年を2桁で表示(先頭に0を付けない) |
ee | 和暦年を2桁で表示(先頭に0を付ける) |
yy | 年を2桁で表示(先頭に0を付ける) |
yyyy | 年を4桁で表示(先頭に0を付ける) |
MM | 月を2桁の数字で表示(先頭に0を付ける) |
MMM | 月を省略形で表示 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) |
MMMM | 月を正式名称で表示 (DateTimeFormatInfo.MonthNames() で指定された形式) |
dd | 日を2桁で表示(先頭に0を付ける) |
t | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列の最初の1文字を表示 |
tt | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列を表示 |
hh | 時を12時間制で表示(先頭に0を付ける) |
HH | 時を24時間制で表示(先頭に0を付ける) |
mm | 分を表示(先頭に0を付ける) |
ss | 秒を表示(先頭に0を付ける) |
\(Chr(92)) | キーワードをリテラル文字として表示 |
表示書式として使用可能なキーワードは以下のとおりです。
キーワード | 説明 |
---|---|
A | 紀元後を表す"A.D.(Anno Domini)"を表示 |
g | 年号の頭文字をアルファベットで表示(M、T、S、H) |
gg | 年号の頭文字を漢字で表示(明、大、昭、平) |
ggg | 年号の正式名称を漢字で表示(明治、大正、昭和、平成) |
e | 和暦年を2桁で表示(先頭に0を付けない) |
ee | 和暦年を2桁で表示(先頭に0を付ける) |
E | 和暦年を2桁で表示し開始年を元と表示(先頭に0を付けない) (例:平成元年) |
EE | 和暦年を2桁で表示し開始年を元と表示(先頭に0を付ける) (例:平成元年) |
y | 年を2桁で表示(先頭に0を付けない) |
yy | 年を2桁で表示(先頭に0を付ける) |
yyy | 年を4桁で表示(先頭に0を付けない) |
yyyy | 年を4桁で表示(先頭に0を付ける) |
M | 月を2桁の数字で表示(先頭に0を付けない) |
MM | 月を2桁の数字で表示(先頭に0を付ける) |
MMM | 月を省略形で表示 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) |
MMMM | 月を正式名称で表示 (DateTimeFormatInfo.MonthNames()で指定された形式) |
d | 日を表示(先頭に0を付けない) |
dd | 日を表示(先頭に0を付ける) |
ddd | 曜日を省略形で表示(DateTimeFormatInfo.AbbreviatedDayNames()で指定された形式) |
dddd | 曜日を正式名称で表示(DateTimeFormatInfo.DayNames()で指定された形式) |
t | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列の最初の1文字を表示 |
tt | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列を表示 |
h | 時を12時間制で表示(先頭に0を付けない) |
hh | 時を12時間制で表示(先頭に0を付ける) |
H | 時を24時間制で表示(先頭に0を付けない) |
HH | 時を24時間制で表示(先頭に0を付ける) |
m | 分を表示(先頭に0を付けない) |
mm | 分を表示(先頭に0を付ける) |
s | 秒を表示(先頭に0を付けない) |
ss | 秒を表示(先頭に0を付ける) |
\(Chr(92)) | キーワードをリテラル文字として表示 |