コントロールの追加
「PowerTools ComponentOne Studio 2012J」をインストールしたら、プロジェクトにコントロールを追加します。
ツールボックスに専用のタブを作成し、使用するコンポーネントを追加します。追加するコンポーネントはアセンブリ名が「C1.Win.C1FlexGrid.4」の「C1TrueDBGrid」コントロールです。
コントロール | アセンブリ |
C1TrueDBGrid | C1.Win.C1FlexGrid.4 |
また、プロジェクトの参照設定に次のアセンブリへの参照を追加します。これらは、グリッドデータをExcel形式で保存する際に必要になります。
C1TrueDBGridコントロールのエクスポート機能は、C1Reportコンポーネントに含まれるC1PrintPreview/C1PrintDocumentコンポーネントの機能を利用しており、C1Reportコンポーネントのアセンブリを参照する必要があります。
アセンブリ | 説明 |
C1.C1Report.4.dll | 本体アセンブリ(※) |
C1.Win.C1Report.4.dll | 本体アセンブリ(※) |
C1TrueDBGridコントロールのドラッグ&ドロップ機能について
C1TrueDBGridコントロールの機能の概要については、『グリッドコントロールを使いデータベースを操作する.NETアプリケーションを作る』で紹介していますので、そちらをご参照ください。
ここでは、C1TrueDBGridコントロールのドラッグ&ドロップ機能について簡単に紹介しておきます。
C1TrueDBGridコントロールのドラッグ&ドロップ機能
C1TrueDBGridコントロールのドラッグ&ドロップ機能は、複数のグリッド間でデータをドラッグ&ドロップで操作できる機能です。
この機能を使うと、あるグリッドのデータをもう一つのグリッドにマウスで簡単にコピーして新しい表を作成したり、複数のデータベーステーブルのデータからレコードデータを1つずつ選んで別の表にまとめたり、といったことが可能になります。
データベースからデータを抽出する方法にクエリがありますが、クエリはあくまでも条件に一致するデータを取得するものなので、条件に関係なくデータを選んで抽出することはできません。
一方、C1TrueDBGridコントロールのドラッグ&ドロップ機能は、条件に関係なくデータを見ながら必要なデータを選んで取り出すことができます。
データベーステーブルのフィールド内容に関係なく、列数さえ合えば異なるデータのテーブルからもデータを拾い出して1つのグリッドにまとめることが可能です。
次の例は、C1TrueDBGridコントロールのヘルプに記載されている例ですが、それぞれ異なるテーブルデータを表示しているグリッド間で、データをドラッグ&ドロップでコピーしています。
C1TrueDBGridコントロールでドラッグ&ドロップ機能を使用するには、次の手順をとります。
- ドラッグ元のC1TrueDBGridコントロールで、「AllowDrag」プロパティを「True」に設定します。
- ドロップ先のC1TrueDBGridコントロールで、「AllowDrop」プロパティを「True」に設定します。
- ドラッグ元のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ操作の開始点のマウス座標を保存します
- ドラッグ元のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ操作を開始します。
- ドロップ先のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ&ドロップ操作の効果をコピーに指定します。
- ドロップ先のC1TrueDBGridコントロールのマウスイベントハンドラで、グリッドのデータセットに新しい行を追加し、データベースに変更を反映します。
- 次のドラッグ&ドロップに備え、ドラッグ&ドロップ操作をリセット
使用するマウスイベントは、マウスポインタの座標を取得できるイベントハンドラを持っているものを使用します。
今回のアプリケーションでは、ドラッグ元のC1TrueDBGridコントロールでMouseDown・MouseMoveイベントを使用し、ドロップ先のC1TrueDBGridコントロールではDragEnter・DragDropイベントを使用しています。