MESCIUS MultiRow for Windows Forms 12.0J
フィールドオブジェクトによる書式設定

ここでは、フィールドオブジェクトによる書式設定について説明します。

概要

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)

接頭語/接尾語フィールド(NumberSignFieldクラス)は、接頭語/接尾語を入力するフィールドです。

プロパティ 説明
NegativePattern 数値が負のときに表示する文字列を設定します。
PositivePattern 数値が正のときに表示する文字列を設定します。

整数入力フィールド(NumberIntegerPartField)

整数入力フィールド(NumberIntegerPartFieldクラス)は、整数を入力するフィールドです。

プロパティ 説明
GroupSeparator 整数部の桁区切り記号として表示する文字を設定します。
GroupSizes 整数部の桁区切りを行う桁数を取得または設定します。
MaxDigits 整数部の最大桁数を取得または設定します。
MinDigits 整数部の最小桁数を取得または設定します。
SpinIncrement スピン動作の変化量を取得または設定します。

小数点フィールド(NumberDecimalSeparatorField)

小数点フィールド(NumberDecimalSeparatorFieldクラス)は、小数点を表すフィールドです。

プロパティ 説明
DecimalSeparator 小数点に表示する文字を設定します。

小数入力フィールド(NumberDecimalPartField)

小数入力フィールド(NumberDecimalPartFieldクラス)は、小数を入力するフィールドです。        

プロパティ 説明
MaxDigits 小数部の最大桁数を取得または設定します。
MinDigits 小数部の最小桁数を取得または設定します。
SpinIncrement スピン動作の変化量を取得または設定します。
表示フィールドオブジェクト

ここでは、GcNumberCellの表示フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。

すべてのフィールドクラスに共通な設定

これらのプロパティは、GcNumberCellのすべての表示フィールドオブジェクトに共通な設定項目です。

プロパティ 説明
BackColor フィールド背景色を設定します。
Font フィールドに表示される文字列のフォントを設定します。
ForeColor フィールド背景色を設定します。
Margin フィールド領域の外枠の距離を設定します。
セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。
Padding フィールド領域からテキストの表示エリアまでの距離を設定します。

リテラル文字表示フィールド(NumberLiteralDisplayField)

リテラル文字表示フィールド(NumberLiteralDisplayFieldクラス)は、コントロールに表示するリテラル文字を設定します。

プロパティ 説明
Text リテラル文字列を設定します。

接頭語/接尾語の表示フィールド(NumberSignDisplayField)

接頭語/接尾語の表示フィールド(NumberSignDisplayFieldクラス)は、接頭語/接尾語を表示するフィールドです。

プロパティ 説明
NegativePattern 数値が負のときに表示する文字列を設定します。
PositivePattern 数値が正のときに表示する文字列を設定します。

整数表示フィールド(NumberIntegerPartDisplayField)

整数表示フィールド(NumberIntegerPartDisplayFieldクラス)は、整数を表示するフィールドです。

プロパティ 説明
GroupSeparator 整数部の桁区切り記号として表示する文字を設定します。
GroupSizes 整数部の桁区切りを行う桁数を取得または設定します。
MinDigits 整数部の最小桁数を取得または設定します。
   

小数点フィールド(NumberDecimalSeparatorDisplayField)

小数点フィールド(NumberDecimalSeparatorDisplayFieldクラス)は、小数点を表示するフィールドです。  

プロパティ 説明
DecimalSeparator 小数点に表示する文字を設定します。

小数表示フィールド(NumberDecimalPartDisplayField)

小数表示フィールド(NumberDecimalPartDisplayFieldクラス)は、小数を表示するフィールドです。
プロパティ 説明
MaxDigits 小数部の最大桁数を取得または設定します。
MinDigits 小数部の最小桁数を取得または設定します。

漢数字の表示フィールド(NumberDecimalGeneralFormatDisplayField)

漢数字の表示フィールド(NumberDecimalGeneralFormatDisplayFieldクラス)は、漢数字を表示するフィールドです。
プロパティ 説明
Pattern 漢数字表記の形式を取得または設定します。
       

下の桁をリテラル文字に置き換えるフィールド(NumberMoneyPatternDisplayField)

下の桁をリテラル文字に置き換えるフィールド(NumberMoneyPatternDisplayFieldクラス)は、下3桁を「千」と置き換えるなど、下の桁をリテラル文字に置き換えるフィールドです。

プロパティ 説明
DecimalSeparator 小数点記号を取得または設定します。
GroupSeparator 整数部の桁区切り記号として表示する文字を取得または設定します。
Pattern 書式文字列を取得または設定します。

システム書式表示フィールド (NumberSystemFormatDisplayField)

システム書式表示フィールド(NumberSystemFormatDisplayFieldクラス)は、システムで定義された書式指定子を使用して数字の書式を設定します。

プロパティ 説明
Pattern 書式を表す書式指定子を設定します。(String型)下表の書式指定子を設定することができます。

◆ Patternプロパティに設定可能な書式指定子

書式指定子 説明
C 通貨
(例:\123.456)
D Decimal (10 進数型)
(例:123456)
G 全般
(例:-123.456)
N Number
(例:1,234.56)
P パーセント
(例:100.00 %)
関連トピック

 

 


© MESCIUS inc. All rights reserved.