PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > セル型 > InputManセル > GcNumber型セル > 書式の設定(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) |