MESCIUS MultiRow for Windows Forms 12.0J > InputManCellの使い方 > GcNumberCell > 書式の設定 > フィールドオブジェクトによる書式設定 |
ここでは、フィールドオブジェクトによる書式設定について説明します。
GcNumberCellには、表示にInputManのGcNumberコントロールのフィールドオブジェクトのサブセットが提供されます。
入力時の書式を設定する入力フィールドには、次の4種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
また、表示フィールドでは、次の7種類のフィールドが提供されています。
フィールドオブジェクトをNumberDisplayFieldCollectionコレクションに追加することで数値の表示書式を作成します。また、NumberFieldCollectionクラスに追加されている各入力フィールドを設定することでフィールドのスタイルを変更することができます。
数値の入力書式を設定するNumberFieldsコレクションではコレクションのアイテムを追加または削除できません。表示書式は、表示用のNumberDisplayFieldCollectionコレクションに、前項で解説したフィールドオブジェクトを組み合わせて作成します。
表示書式を設定するNumberDisplayFieldCollectionコレクションにフィールドオブジェクトを追加するには、Addメソッドまたは、AddRangeメソッドを使用します。
次のサンプルコードは、GcNumberCell に表示書式を設定する例です。
Imports GrapeCity.Win.MultiRow Imports InputManCell = GrapeCity.Win.MultiRow.InputMan Dim GcNumberCell1 = New InputManCell.GcNumberCell() ' フィールドをクリアします。 GcNumberCell1.DisplayFields.Clear() ' 表示フィールドのオブジェクトを作成します。 Dim NumberSignDisplayField1 As New InputManCell.NumberSignDisplayField("\", "\-") Dim NumberIntegerPartDisplayField1 As New InputManCell.NumberIntegerPartDisplayField() Dim NumberDecimalSeparatorDisplayField1 As New InputManCell.NumberDecimalSeparatorDisplayField() Dim NumberDecimalPartDisplayField1 As New InputManCell.NumberDecimalPartDisplayField() Dim NumberSignDisplayField2 As New InputManCell.NumberSignDisplayField("(税込)", "(税込)") ' フィールドをコレクションに追加してセルに表示書式を設定します。 GcNumberCell1.DisplayFields.AddRange(New InputManCell.NumberDisplayField() { _ NumberSignDisplayField1, NumberIntegerPartDisplayField1, _ NumberDecimalSeparatorDisplayField1, NumberDecimalPartDisplayField1, _ NumberSignDisplayField2 _ }) GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcNumberCell1})
using GrapeCity.Win.MultiRow; using InputManCell = GrapeCity.Win.MultiRow.InputMan; InputManCell.GcNumberCell gcNumberCell1 = new InputManCell.GcNumberCell(); // フィールドをクリアします。 gcNumberCell1.DisplayFields.Clear(); // 表示フィールドのオブジェクトを作成します。 InputManCell.NumberSignDisplayField numberSignDisplayField1 = new InputManCell.NumberSignDisplayField("\", "\-"); InputManCell.NumberIntegerPartDisplayField numberIntegerPartDisplayField1 = new InputManCell.NumberIntegerPartDisplayField(); InputManCell.NumberDecimalSeparatorDisplayField numberDecimalSeparatorDisplayField1 = new InputManCell.NumberDecimalSeparatorDisplayField(); InputManCell.NumberDecimalPartDisplayField numberDecimalPartDisplayField1 = new InputManCell.NumberDecimalPartDisplayField(); InputManCell.NumberSignDisplayField numberSignDisplayField2 = new InputManCell.NumberSignDisplayField("(税込)", "(税込)"); // フィールドをコレクションに追加してセルに表示書式を設定します。 gcNumberCell1.DisplayFields.AddRange(new InputManCell.NumberDisplayField[] { numberSignDisplayField1, numberIntegerPartDisplayField1, numberDecimalSeparatorDisplayField1, numberDecimalPartDisplayField1, numberSignDisplayField2 }); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcNumberCell1 });
(図) 上記サンプルコードを適用したGcNumberCell
フィールドオブジェクトをNumberDisplayFieldCollectionコレクションから削除するには、Removeメソッドまたは、RemoveAtメソッドを使用します。
次のサンプルコードは、NumberDisplayFieldCollectionコレクションの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。 Dim GcNumberCell As GrapeCity.Win.MultiRow.InputMan.GcNumberCell = DirectCast(GcMultiRow1(0, 0), GrapeCity.Win.MultiRow.InputMan.GcNumberCell) GcNumberCell.DisplayFields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GrapeCity.Win.MultiRow.InputMan.GcNumberCell gcNumberCell = (GrapeCity.Win.MultiRow.InputMan.GcNumberCell)gcMultiRow1[0, 0];
gcNumberCell.DisplayFields.RemoveAt(0);
デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」「表示フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、数値コントロールで設定可能なフィールドを組み合わせて設定します。
入力書式
表示書式
このエディタでは、コレクションにフィールドを追加や編集すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。
(図)フィールド毎に異なったスタイルを設定
ここでは、GcNumberCellの入力フィールドに設定可能な4種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcNumberCellのすべての入力フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド背景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
接頭語/接尾語フィールド(NumberSignFieldクラス)は、接頭語/接尾語を入力するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 数値が負のときに表示する文字列を設定します。 |
PositivePattern | 数値が正のときに表示する文字列を設定します。 |
整数入力フィールド(NumberIntegerPartFieldクラス)は、整数を入力するフィールドです。
プロパティ | 説明 |
---|---|
GroupSeparator | 整数部の桁区切り記号として表示する文字を設定します。 |
GroupSizes | 整数部の桁区切りを行う桁数を取得または設定します。 |
MaxDigits | 整数部の最大桁数を取得または設定します。 |
MinDigits | 整数部の最小桁数を取得または設定します。 |
SpinIncrement | スピン動作の変化量を取得または設定します。 |
小数点フィールド(NumberDecimalSeparatorFieldクラス)は、小数点を表すフィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点に表示する文字を設定します。 |
小数入力フィールド(NumberDecimalPartFieldクラス)は、小数を入力するフィールドです。
プロパティ | 説明 |
---|---|
MaxDigits | 小数部の最大桁数を取得または設定します。 |
MinDigits | 小数部の最小桁数を取得または設定します。 |
SpinIncrement | スピン動作の変化量を取得または設定します。 |
ここでは、GcNumberCellの表示フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcNumberCellのすべての表示フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド背景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字表示フィールド(NumberLiteralDisplayFieldクラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字列を設定します。 |
接頭語/接尾語の表示フィールド(NumberSignDisplayFieldクラス)は、接頭語/接尾語を表示するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 数値が負のときに表示する文字列を設定します。 |
PositivePattern | 数値が正のときに表示する文字列を設定します。 |
整数表示フィールド(NumberIntegerPartDisplayFieldクラス)は、整数を表示するフィールドです。
プロパティ | 説明 |
---|---|
GroupSeparator | 整数部の桁区切り記号として表示する文字を設定します。 |
GroupSizes | 整数部の桁区切りを行う桁数を取得または設定します。 |
MinDigits | 整数部の最小桁数を取得または設定します。 |
小数点フィールド(NumberDecimalSeparatorDisplayFieldクラス)は、小数点を表示するフィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点に表示する文字を設定します。 |
プロパティ | 説明 |
---|---|
MaxDigits | 小数部の最大桁数を取得または設定します。 |
MinDigits | 小数部の最小桁数を取得または設定します。 |
プロパティ | 説明 |
---|---|
Pattern | 漢数字表記の形式を取得または設定します。 |
下の桁をリテラル文字に置き換えるフィールド(NumberMoneyPatternDisplayFieldクラス)は、下3桁を「千」と置き換えるなど、下の桁をリテラル文字に置き換えるフィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点記号を取得または設定します。 |
GroupSeparator | 整数部の桁区切り記号として表示する文字を取得または設定します。 |
Pattern | 書式文字列を取得または設定します。 |
システム書式表示フィールド(NumberSystemFormatDisplayFieldクラス)は、システムで定義された書式指定子を使用して数字の書式を設定します。
プロパティ | 説明 |
---|---|
Pattern | 書式を表す書式指定子を設定します。(String型)下表の書式指定子を設定することができます。 |
◆ Patternプロパティに設定可能な書式指定子
書式指定子 | 説明 |
---|---|
C | 通貨 (例:\123.456) |
D | Decimal (10 進数型) (例:123456) |
G | 全般 (例:-123.456) |
N | Number (例:1,234.56) |
P | パーセント (例:100.00 %) |