PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > シートモデル > シートモデルのタイプ |
次の表は、シートを構成するモデル、各モデルに関連付けられたクラス、およびインタフェースは表しています。
モデル | クラスおよびインタフェース | 説明 |
---|---|---|
Axisモデル | BaseSheetAxisModel DefaultSheetAxisModel ISheetAxisModel |
シートが、行と列によりどのように構成されているかを表します。詳細は「Axis モデル」を参照してください。 |
Dataモデル | BaseSheetDataModel DefaultSheetDataModel ISheetDataModel |
シートの、セルのデータに対する操作を表します。詳細は「Data モデル」を参照してください。 |
Selectionモデル | BaseSheetSelectionModel DefaultSheetSelectionModel ISheetSelectionModel< |
シートの、選択されたセルの動作および操作を表します。詳細は「Selection モデル」を参照してください。 |
Spanモデル | BaseSheetSpanModel DefaultSheetSpanModel ISheetSpanModel |
シートで、セルがどのように結合されているかを表します。詳細は「Span モデル」を参照してください。 |
Styleモデル |
BaseSheetStyleModel DefaultSheetStyleModel ISheetStyleModel |
シートの、セルの外観を表します。詳細は「Style モデル」を参照してください。 |
各モデルは、基本クラスを表す「BaseSheetXXXModel」クラス、デフォルトクラスを表す「DefaultSheetXXXModel」クラス、専用インタフェースを表す「ISheetXXXModel」インタフェース」(XXXはモデルの名称を表します)で構成されています。モデルを構成する要素は、次のとおりです。
モデルの要素 | 説明 |
---|---|
基本クラス | 各モデルの基本となるクラスで、最低限の機能だけが組み込まれています。カスタムモデルを作成するには、この基本クラスを拡張します。 |
デフォルトクラス | 各要素が備えるデフォルト機能を提供するクラスで、基本クラスを継承しています。ほとんどのケースでは、このデフォルトクラスのメンバを使用することでモデルを設定し、シートに適用できます。 |
インタフェース | どのモデルも1つ以上の専用インターフェースを持ちます。モデルクラスへの参照は、すべてインターフェースを介して行われます。基本クラスやデフォルトクラスには、モデルタイプ固有のインターフェースが実装されています。モデルクラスでは、専用のインタフェース以外に、どのインタフェースが実装されているかについては、前提はありません。特定のインタフェースが実装されていない場合、シートにおいて、このインタフェースに該当する機能が無効になるだけです。たとえば、シートのデータモデルにIDataSourceSupportインターフェースが実装されていない場合、シートのDataSourceおよびDataMemberプロパティが無効になります。 独自のモデルクラスを実装する場合は、インターフェースを追加し、モデルに機能を組み込むことができます。 |
シートを構成する各モデルでは、行数と列数が常に統一されるように、互いに整合性を取ることが重要です。シート(SheetViewオブジェクト)はModelsプロパティで参照するSheetView.DocumentModelsオブジェクトのDataプロパティからISheetDataModelインタフェースのChangeイベントを待ち受け、以下のいずれかの操作で行数または列数が変更されたときには他のモデルを更新します。
モデル間に不一致が生じた場合は、存在しない行または列についての情報を取得しようとしたときに、範囲外インデックスの例外をコードから発生させることができます。
シートのカスタムモデル作成の詳細については、「カスタムシートモデルの作成」を参照してください。