GcTimeSpanCellでは、専用のキーワードを設定することで書式を設定することができます。 フィールドオブジェクトによる書式設定のように柔軟なスタイル設定が不要な場合、入力および表示書式についてそれぞれ1度のメソッド実行だけで定義できるため、簡単な実装が可能です。
 |
キーワードによる書式設定は、InputMan for .NET 4.0J Windows Forms Edition のタイムスパンコントロールで利用されていた方法と同様の方法です。 |
コードによる設定
入力書式を設定するには、Fieldsプロパティが参照するTimeSpanFieldCollectionクラスのAddRangeメソッドに、入力書式用のキーワードを使用した文字列を設定します。
表示書式を設定するには、DisplayFieldsプロパティが参照するTimeSpanDisplayFieldCollectionクラスのAddRangeメソッドに、表示書式用のキーワードを使用した文字列を設定します。
キーワードは文字列として次の順番で定義します。
Pattern, Decimal Places, Decimal Point, Positive Prefix, Positive Suffix, Negative Prefix, Negative Suffix
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Dim GcTimeSpanCell1 As New InputManCell.GcTimeSpanCell()
' フィールドをクリアします。
GcTimeSpanCell1.Fields.Clear()
GcTimeSpanCell1.DisplayFields.Clear()
' キーワードから書式を設定します。
GcTimeSpanCell1.Fields.AddRange("hh時間mm分ss秒,0,.,,,-,")
GcTimeSpanCell1.DisplayFields.AddRange("hh時間mm分ss秒,0,.,,,-,")
GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcTimeSpanCell1})
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
InputManCell.GcTimeSpanCell gcTimeSpanCell1 = new InputManCell.GcTimeSpanCell();
// フィールドをクリアします。
gcTimeSpanCell1.Fields.Clear();
gcTimeSpanCell1.DisplayFields.Clear();
// キーワードから書式を設定します。
gcTimeSpanCell1.Fields.AddRange("hh時間mm分ss秒,0,.,,,-,");
gcTimeSpanCell1.DisplayFields.AddRange("hh時間mm分ss秒,0,.,,,-,");
gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcTimeSpanCell1 });
なお、AddRangeメソッドにより書式を設定する場合でも、自動的にフィールドオブジェクトに変換されているため、設定後に特定のフィールドスタイルを変更することが可能です。
次のサンプルコードは、キーワードにより設定したタイムスパン書式で特定のフィールドのスタイルを設定する例です。
' 入力書式フィールドのスタイルを設定します。
GcTimeSpanCell1.Fields(0).BackColor = Color.Bisque
GcTimeSpanCell1.Fields(1).ForeColor = Color.DarkGray
GcTimeSpanCell1.Fields(2).Font = New Font("Meiryo UI", 12)
' 表示書式フィールドのスタイルを設定します。
GcTimeSpanCell1.DisplayFields(0).Font = New Font("MS ゴシック", 15)
GcTimeSpanCell1.DisplayFields(1).BackColor = Color.Yellow
GcTimeSpanCell1.DisplayFields(2).ForeColor = Color.Gray
// 入力書式フィールドのスタイルを設定します。
gcTimeSpanCell1.Fields[0].BackColor = Color.Bisque;
gcTimeSpanCell1.Fields[1].ForeColor = Color.DarkGray;
gcTimeSpanCell1.Fields[2].Font = new Font("Meiryo UI", 12);
// 表示書式フィールドのスタイルを設定します。
gcTimeSpanCell1.DisplayFields[0].Font = new Font("MS ゴシック", 15);
gcTimeSpanCell1.DisplayFields[1].BackColor = Color.Yellow;
gcTimeSpanCell1.DisplayFields[2].ForeColor = Color.Gray;
デザイン画面での設定
デザイン画面では「入力書式の設定」「表示書式の設定」エディタを使用して容易な設定が可能です。これらのエディタは次のいずれかの方法で起動でき、 タイムスパンのキーワードを設定することで書式を作成します。
入力書式
- セルのスマート タグから「入力書式の設定...」を選択
表示書式
- セルのスマート タグから「表示書式の設定...」を選択
個々のフィールドのプロパティは設定できませんが、「時間」「分」「秒」などのリテラル文字を使用した書式が予めビルトイン書式として用意されているため、これらのリストから書式を選択するだけで簡単に書式を定義することが可能です。
入力書式として使用可能なキーワードは以下のとおりです。
キーワード |
説明 |
dd |
先頭に0を付けて日を入力 |
hh |
先頭に0を付けて時を入力 |
mm |
先頭に0を付けて分を入力 |
ss |
先頭に0を付けて秒を入力 |
表示書式として使用可能なキーワードは以下のとおりです。
キーワード |
説明 |
d |
日を表示(先頭に0を付けない) |
dd |
日を2桁で表示(先頭に0を付ける) |
h |
時を表示(先頭に0を付けない) |
hh |
時を2桁で表示(先頭に0を付ける) |
m |
分を表示(先頭に0を付けない) |
mm |
分を2桁で表示(先頭に0を付ける) |
s |
秒を表示(先頭に0を付けない) |
ss |
行を2桁で表示(先頭に0を付ける) |