MESCIUS SPREAD for Windows Forms 17.0J
書式の設定(GcNumber型セル)

GcNumber型セルの主要機能である書式フィールドの設定とその活用方法について解説します。

書式の設定

GcNumber型セルの書式を設定するには、入力用と表示用の2つがあり、それぞれ入力フィールドと表示フィールドを使って書式を設定します。

入力フィールドを設定するには、Fields プロパティが参照するNumberFieldsInfo クラスを使用します。一般的に数値の整数値、小数点、小数値は配置の順番が決まっているため、入力書式を設定するNumberFieldsInfoではアイテムを追加または削除できません。一方、表示フィールドを設定するには、DisplayFields プロパティが参照するNumberDisplayFieldCollectionInfo クラスを使用します。

GcNumber型セルの書式を設定するには、それぞれのコレクションのAddメソッドもしくはAddRangeメソッドを使用して直接フィールドオブジェクトを追加する方法と、AddRangeメソッドのオーバーライドの1つを使用して、キーワード文字列によりフィールドを自動生成する方法があります。それぞれの方法による書式の設定方法については、以下のトピックを参照してください。

リテラル文字

GcNumber型セルでは、接頭語および接尾語をリテラル文字として表示できます。接頭語/接尾語は入力用および表示用の2つがあり、それぞれNumberSignField、NumberSignDisplayField(接頭語/接尾語フィールド)で定義します。

頭語/接尾語は正数と負数のぞれぞれを設定可能

フィールドの操作方法

GcNumberCellType.DisplayFieldsプロパティのコレクションをとおして特定のフィールドにアクセスできます。GcNumber型セルの表示フィールドコレクション内の特定のフィールドにアクセスする場合、次のいずれかの方法を使うことができます。

コレクションのインデックスがわかっている場合は、インデックスを使ってフィールドを取得することができます。

サンプルコード

次のサンプルコードはインデックスを使ってフィールドを取得する例です。ここではGcNumber型セルの3番目のフィールドを取得する例です。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType cell = (fpSpread1.ActiveSheet.GetCellType(0, 0) as GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType);
GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo myField = (GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo)cell.DisplayFields[2];
Visual Basic
コードのコピー
Dim cell As GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType = TryCast(FpSpread1.ActiveSheet.GetCellType(0, 0), GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType)
Dim myField As GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo = DirectCast(cell.DisplayFields(2), GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo)

また、インデックスを使わず、設定したキー(文字列)を使って特定のフィールドにアクセスすることもできます。キーは、各フィールドのNameプロパティにキーとして文字列を設定します。

次のサンプルコードはキーを使ってフィールドを取得する例です。ここではGcNumber型セルの特定の表示フィールドのNameプロパティにあらかじめ"Key1"という文字列が設定されていることを前提にしています。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType cell = (fpSpread1.ActiveSheet.GetCellType(0, 0) as GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType);
GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo myField = (GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo)cell.DisplayFields["Key1"];
Visual Basic
コードのコピー
Dim cell As GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType = TryCast(FpSpread1.ActiveSheet.GetCellType(0, 0), GrapeCity.Win.Spread.InputMan.CellType.GcNumberCellType)
Dim myField As GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo = DirectCast(cell.DisplayFields("Key1"), GrapeCity.Win.Spread.InputMan.CellType.Fields.NumberDisplayFieldInfo)
参照

 

 


© MESCIUS inc. All rights reserved.