SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

グリッドデータをドラッグ&ドロップで操作し新しい表を作成する.NETアプリケーションを作る

「PowerTools ComponentOne Studio 2012J」のC1TrueDBGridコントロールを使った.NETアプリケーションの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

コントロールの追加

 「PowerTools ComponentOne Studio 2012J」をインストールしたら、プロジェクトにコントロールを追加します。

 ツールボックスに専用のタブを作成し、使用するコンポーネントを追加します。追加するコンポーネントはアセンブリ名が「C1.Win.C1FlexGrid.4」の「C1TrueDBGrid」コントロールです。

コントロール アセンブリ
C1TrueDBGrid C1.Win.C1FlexGrid.4
アセンブリ名が「C1.Win.C1TrueDBGrid」の「C1TrueDBGrid」コントロール
アセンブリ名が「C1.Win.C1TrueDBGrid」の「C1TrueDBGrid」コントロール

 また、プロジェクトの参照設定に次のアセンブリへの参照を追加します。これらは、グリッドデータをExcel形式で保存する際に必要になります。

 C1TrueDBGridコントロールのエクスポート機能は、C1Reportコンポーネントに含まれるC1PrintPreview/C1PrintDocumentコンポーネントの機能を利用しており、C1Reportコンポーネントのアセンブリを参照する必要があります。

サンプルファイルの実行に必要なファイル
(※は.NET Framework 4でのみ利用可)
アセンブリ 説明
C1.C1Report.4.dll 本体アセンブリ(※)
C1.Win.C1Report.4.dll 本体アセンブリ(※)
「C1.C1Report.4.dll」「C1.Win.C1Report.4.dll」への参照設定を行う
「C1.C1Report.4.dll」「C1.Win.C1Report.4.dll」への参照設定を行う

C1TrueDBGridコントロールのドラッグ&ドロップ機能について

 C1TrueDBGridコントロールの機能の概要については、『グリッドコントロールを使いデータベースを操作する.NETアプリケーションを作る』で紹介していますので、そちらをご参照ください。

 ここでは、C1TrueDBGridコントロールのドラッグ&ドロップ機能について簡単に紹介しておきます。

C1TrueDBGridコントロールのドラッグ&ドロップ機能

 C1TrueDBGridコントロールのドラッグ&ドロップ機能は、複数のグリッド間でデータをドラッグ&ドロップで操作できる機能です。

 この機能を使うと、あるグリッドのデータをもう一つのグリッドにマウスで簡単にコピーして新しい表を作成したり、複数のデータベーステーブルのデータからレコードデータを1つずつ選んで別の表にまとめたり、といったことが可能になります。

 データベースからデータを抽出する方法にクエリがありますが、クエリはあくまでも条件に一致するデータを取得するものなので、条件に関係なくデータを選んで抽出することはできません。

 一方、C1TrueDBGridコントロールのドラッグ&ドロップ機能は、条件に関係なくデータを見ながら必要なデータを選んで取り出すことができます。

 データベーステーブルのフィールド内容に関係なく、列数さえ合えば異なるデータのテーブルからもデータを拾い出して1つのグリッドにまとめることが可能です。

 次の例は、C1TrueDBGridコントロールのヘルプに記載されている例ですが、それぞれ異なるテーブルデータを表示しているグリッド間で、データをドラッグ&ドロップでコピーしています。

異なるテーブルデータを表示しているグリッド間で、
データをドラッグ&ドロップでコピーしている(ヘルプより抜粋)
異なるテーブルデータを表示しているグリッド間で、データをドラッグ&ドロップでコピーしている(ヘルプより抜粋)

 C1TrueDBGridコントロールでドラッグ&ドロップ機能を使用するには、次の手順をとります。

  1. ドラッグ元のC1TrueDBGridコントロールで、「AllowDrag」プロパティを「True」に設定します。
  2. ドロップ先のC1TrueDBGridコントロールで、「AllowDrop」プロパティを「True」に設定します。
  3. ドラッグ元のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ操作の開始点のマウス座標を保存します
  4. ドラッグ元のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ操作を開始します。
  5. ドロップ先のC1TrueDBGridコントロールのマウスイベントハンドラで、ドラッグ&ドロップ操作の効果をコピーに指定します。
  6. ドロップ先のC1TrueDBGridコントロールのマウスイベントハンドラで、グリッドのデータセットに新しい行を追加し、データベースに変更を反映します。
  7. 次のドラッグ&ドロップに備え、ドラッグ&ドロップ操作をリセット

 使用するマウスイベントは、マウスポインタの座標を取得できるイベントハンドラを持っているものを使用します。

 今回のアプリケーションでは、ドラッグ元のC1TrueDBGridコントロールでMouseDown・MouseMoveイベントを使用し、ドロップ先のC1TrueDBGridコントロールではDragEnter・DragDropイベントを使用しています。

次のページ
GUIのデザイン

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6923 2012/12/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング