PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > シートモデル > シートモデルのタイプ > Style モデル |
Style モデルは、背景色、文字色、セル型といった外観に関する設定を保持します。セル、列、行、また交互行(1行おき)のスタイルの設定内容がStyle モデルに格納されます。
Style モデルを形成するクラスは以下のとおりです。
基本クラス | BaseSheetStyleModel クラス |
---|---|
デフォルトクラス | DefaultSheetStyleModel クラス |
インタフェース | ISheetStyleModel インタフェース |
また、Style モデルは、SheetView クラスの以下のプロパティから参照されます。
Style モデルを使用する外観設定には、StyleInfo クラスを使用します。基本の Styleモデルは、SetDirectInfo メソッドやSetDirectAltRowInfo メソッドを提供しします。これらメソッドのパラメータにスタイルを定義したStyleInfo オブジェクトを指定することで、セルや交互行にスタイルを設定します。
デフォルトクラス(DefaultSheetStyleModel クラス)は、SetDirectName メソッド、SetDirectAltRowName メソッドを提供し、「名前付きスタイル」の設定をサポートします。これは、セルや列、行オブジェクトに直接設定する方法と同様です。名前付くスタイルのコレクションは、NamedStyles プロパティに格納されます。
また、GetDirectInfo メソッドにより、特定のセル、列、または行に直接設定されたスタイル属性を取得できます。GetCompositeInfo メソッドは1つのStyleInfo オブジェクトとして組み合わされた(複合された)、複数のスタイル属性を返します。
SetDirectInfoおよびSetDirectName メソッドで起用されるスタイルの適用範囲は、パラメータで指定します。第一パラメータは行のインデックスで、-1を指定すると行全体に適用されます。第二パラメータは列のインデックスで-1を指定すると列全体に適用されます。両方とも-1を指定すると、シート全体にスタイルが適用されます。
なお、Style モデルにおける外観設定も「オブジェクトの親子関係」での優先順位が適用されます。
次のサンプルコードは、Style モデルによりシート全体および左上のセルのスタイルを設定します。このとき、シート全体に設定するスタイルは特定のセルに設定するスタイルの親となります。
FarPoint.Web.Spread.Model.DefaultSheetStyleModel model = (FarPoint.Web.Spread.Model.DefaultSheetStyleModel)FpSpread1.Sheets[0].StyleModel; FarPoint.Web.Spread.NamedStyle style_parent = new FarPoint.Web.Spread.NamedStyle("parent"); FarPoint.Web.Spread.NamedStyle style_child = new FarPoint.Web.Spread.NamedStyle("child", "parent"); style_parent.BackColor = Color.Yellow; style_child.BackColor = Color.AliceBlue; style_child.ForeColor = Color.Blue; model.NamedStyles.AddRange(new FarPoint.Web.Spread.NamedStyle[] {style_parent, style_child}); model.SetDirectName(-1, -1, "parent"); model.SetDirectName(0, 0, "child");
Dim model As FarPoint.Web.Spread.Model.DefaultSheetStyleModel = FpSpread1.Sheets(0).StyleModel Dim style_parent As New FarPoint.Web.Spread.NamedStyle("parent") Dim style_child As New FarPoint.Web.Spread.NamedStyle("child", "parent") style_parent.BackColor = Color.Yellow style_child.BackColor = Color.AliceBlue style_child.ForeColor = Color.Blue model.NamedStyles.AddRange(New FarPoint.Web.Spread.NamedStyle() {style_parent, style_child}) model.SetDirectName(-1, -1, "parent") model.SetDirectName(0, 0, "child")