
ユーザー定義セルは、基本セルや組み込みのセル型を元に作成する任意のセル型です。ここでは、ユーザー定義セルの作成方法について説明します。
ユーザー定義セルの種類
ユーザー定義セルは、既存のセル型のクラスの派生クラスとして作成します。このため、作成する機能に応じて任意のセル型をベースとして選択できます。たとえば、次のようなシナリオがあります。
- 基本セル(Cell)を継承して表示や編集にかかわるすべての処理を実装する。
- ヘッダ型セル(HeaderCell)を継承してヘッダの表示をカスタマイズする。
- 列ヘッダ型セル(ColumnHeaderCell)を継承して列ヘッダの表示をカスタマイズする。
- ヘッダ型セル(HeaderCell)を継承して、ColumnHeaderCellとは別の任意の列ヘッダを作成する。
- 文字列型セル(TextBoxCell)を継承して、頻繁に使用するスタイルをセル型自体に組み込む。
- 文字列型セル(TextBoxCell)を継承して、セルの編集時に任意のコントロールを表示する(セル編集コントロール)。
- 既存のセル編集コントロールを継承して任意の処理を追加し、これを別のセル型に実装する。
![]() |
|
ユーザー定義セルの作成
ユーザー定義セルはプロジェクトの形態(アプリケーション、クラスライブラリ)に関係なくコーディングで利用できます。旧バージョン5.0Jでは、ユーザー定義セルをあらかじめ別のアセンブリとしてビルドしなければツールボックスに登録できませんでしたが、8.0Jでは6.0J/7.0Jと同様にWindowsフォームでUserControlを利用する場合と同じように、デバッグ中のプロジェクトでセルの定義からツールボックスへの登録までが可能です。
ここでは、ユーザー定義セルを作成し、テンプレート デザイナに配置するまでの方法を説明します。
以上でユーザー定義型セルの作成は完了です。ツールボックスからテンプレートにドラッグ&ドロップして配置し、組み込みのセル型と同じように利用できます。
ここでは、ユーザー定義セルを作成し、テンプレート デザイナに配置するまでの方法を説明します。
- Visual Studioを起動し、Windows フォーム アプリケーション プロジェクトを新規に作成する。(例:WindowsApplication1)
- Visual Studioのメニューから[プロジェクト]-[新しい項目の追加]を選択する。
- リストから「MultiRow 8.0 テンプレート」を選択し、[追加]ボタンをクリックする。(例:Template1.vb、Template1.cs)
- 再び Visual Studioのメニューから[プロジェクト]-[新しい項目の追加]を選択する。
- リストから「クラス」を選択し、プロジェクトにクラス ファイルを追加する。(例:MyTextBoxCell.vb、MyTextBoxCell.cs)
- クラス ファイルを開き、次のコードを追加する。
- プロジェクトをビルドする。
- 追加したテンプレートを開き、テンプレート デザイナを表示する。
- Visual Studioのメニューから[表示]-[ツールボックス]を選択する。
- ツールボックスのアイテムの先頭に、ユーザー定義型セルが追加されていることを確認する。
以上でユーザー定義型セルの作成は完了です。ツールボックスからテンプレートにドラッグ&ドロップして配置し、組み込みのセル型と同じように利用できます。
カスタム プロパティの追加
実行時にGcMultiRowコントロールに追加されるセルは、GcMultiRow.Template.Row.Cellsプロパティのセルのインスタンスのクローンとなります。このため、ユーザー定義型セルを作成してカスタムプロパティを実装している場合、Cloneメソッドでプロパティの値を複製する必要があります。
たとえば、次のようなカスタムプロパティを実装している場合、
Clone メソッドのコーディングは次のようになります。
たとえば、次のようなカスタムプロパティを実装している場合、
Clone メソッドのコーディングは次のようになります。
バージョン5.0J/6.0J/7.0Jで作成したユーザー定義型セル
旧バージョン5.0J/6.0J/7.0Jで作成したユーザー定義型セルを8.0Jで使用するには、旧バージョンの代わりに8.0Jを参照する環境でビルドし直す必要があります。旧バージョンおよび8.0Jから共通のアセンブリを参照することはできません。
使用例