カスタムモデルを新規作成する場合は、シートモデルのタイプのそれぞれをテンプレートとして使用できます。カスタムモデルを作成するするには、以下のいずれかの方法があります。
たとえば、Data モデルをカスタマイズしたカスタムデータモデルは、ISheetDataModel インタフェースを実装するクラスを作成します。
他のオプションインタフェースが特に必要ない場合は、ここで必要となるのはISheetDataModel インタフェースだけとなります。他のインタフェースの詳細については、「オプションインタフェース」を参照してください。
Data モデルのデフォルトクラス(DefaultSheetDataModel クラス)ででは、オプションインタフェースはすでに実装されています。
Data モデルの基本クラス(BaseSheetDataModel クラス)には、Changedイベントが実装されています。このため、特にこのイベントの実装を提供する必要はありません。このイベント自体は、BaseSheetDataModel クラスにおいて唯一仮想ではない要素です。
パフォーマンス上の理由から、カスタムデータモデルを独自に作成しなければならない場合、たとえば100 万行および 10 列から成る大きな表に、計算値(たとえば加算値または乗算値)を表示する場合について考えます。 デフォルトのData モデルを使用する場合は、この 1,000 万の値をすべて計算および格納する必要があり、これには膨大なメモリと時間が消費されます。
次のサンプルコードは、この問題を回避するカスタムデータモデルの例です。Data モデルの基本クラスを継承しています。