SHOEISHA iD

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

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

ComponentZine(MultiRow)(AD)

「MultiRow for Windows Forms」による、時系列データの表示に適した.NETアプリケーションの作成

PowerTools MultiRow for Windows Forms 8.0J のGcMultiRowコントロールを使ったWindowsフォームアプリケーションの作成

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

アプリケーションの作成

 では、さっそくアプリケーションを作成していきましょう。

 今回は、健康診断の血液検査結果を格納したSQL Serverのデータベースを読み込み、列モードで列方向に時系列的に検査結果を表示するアプリケーションを作ってみます。

 データベースには、列方向に検査項目が並び、行方向にこれまでの検査結果が時系列的に格納されています。

 アプリケーションではこの行列を逆にし、行方向に検査項目を並べ、列方向に過去の検査結果を並べることで、数値の時系列的変化を見ることができるようにしています。

 なお、本来はSQL Server内のデータベースファイルに連結させたアプリケーションを作成しますが、本稿ではローカルに置かれたデータベースファイルに連結したアプリケーションを作成しています。

データベースのデータを行方向から列方向に変えて表示
データベースのデータを行方向から列方向に変えて表示

フォームのレイアウト

 フォームには、WindowsフォームビューワのViewerコントロールを配置し、Dockプロパティを「Fill」に設定します。

 フォームは、Loadイベントハンドラを作成します。

フォームのレイアウト
フォームのレイアウト

データ連結

 アプリケーションにGcMultiRowコントロールを作成する前に、プロジェクトにデータベースファイルを連結させます。この操作はGcMultiRowコントロールに依存せず、通常のADOを使ったデータベース連結の操作になります。

 なお、本稿でのVisual Studioの操作はVisual Studio 2010のものです。

 (1)Visual Studioのメニューから「データ-新しいデータソースの追加」を選びます。

「データ-新しいデータソースの追加」メニューを選ぶ
「データ-新しいデータソースの追加」メニューを選ぶ

 (2)データソース構成ウィザードに従って、データベースファイル「精密検査結果_Data.mdf」を連結します。

データベースファイル「精密検査結果_Data.mdf」を連結する
データベースファイル「精密検査結果_Data.mdf」を連結する

 (3)データセットにテーブル「検査結果」を組み込みます。

データセットにテーブル「検査結果」を組み込む
データセットにテーブル「検査結果」を組み込む

テンプレートの作成

 データ連結ができたら、このデータセットをもとにグリッドレイアウトのテンプレートを作成します。

 (1)ツールボックスからフォームにGcMultiRowコントロールをドラッグアンドドロップします。

 そしてスマートタグから「新しいテンプレートの作成」をクリックします。

スマートタグから「新しいテンプレートの作成」をクリック
スマートタグから「新しいテンプレートの作成」をクリック

 (2)テンプレートウィザードが起動しますので、「データソースの定義からテンプレートを作成する」をクリックし「次へ」ボタンをクリックします。

「データソースの定義からテンプレートを作成する」をクリック
「データソースの定義からテンプレートを作成する」をクリック

 (3)「水平方向へ展開」をクリックし「次へ」ボタンをクリックします。この設定で、レコードは水平方向(列方向)に展開されるようになります。

「水平方向へ展開」をクリックし「次へ」ボタンをクリック
「水平方向へ展開」をクリックし「次へ」ボタンをクリック

 (4)データソースに「検査結果」を選び「次へ」ボタンをクリックします。

データソースに「検査結果」を選び「次へ」ボタンをクリック
データソースに「検査結果」を選び「次へ」ボタンをクリック

 (5)「クエリーの設計」ではそのまま「次へ」ボタンをクリックします。

 このページは表示するデータを選択する画面です。表示したいフィールドが一括で表示されるようになっていますので、個別に選択したい場合は「削除」ボタンで表示したくない項目を選びます。

「クエリーの設計」ではそのまま「次へ」ボタンをクリック
「クエリーの設計」ではそのまま「次へ」ボタンをクリック

 (6)「テンプレートのレイアウトのデザイン」もそのままで「次へ」ボタンをクリックします。

「テンプレートのレイアウトのデザイン」もそのままで「次へ」ボタンをクリック
「テンプレートのレイアウトのデザイン」もそのままで「次へ」ボタンをクリック

 (7)「スタイルを選択」画面では、あらかじめプリセットされているスタイルを使うことができます。このスタイルを使えば、グリッドの外観を細かく設定せずにカラフルなグリッドに仕上げることができます。ここでは、「Papyrus」をクリックし「次へ」ボタンをクリックします。

「Papyrus」をクリックし「次へ」ボタンをクリック
「Papyrus」をクリックし「次へ」ボタンをクリック

 (8)「完了」ボタンをクリックすればテンプレートが出来上がります。

「完了」ボタンをクリック
「完了」ボタンをクリック

GcMultiRowコントロールとデータソースの連結

 GcMultiRowコントロールとデータソースを連結させます。

 プロジェクトにはすでにデータ連結が行われていますので、ウィザードにしたがってそれを連結していくだけです。

 (1)もう一度スマートタグを開き、「データソースの選択-他のデータソース-プロジェクト データ ソース」をクリックします。

「データソースの選択-他のデータソース-プロジェクト データ ソース」をクリック
「データソースの選択-他のデータソース-プロジェクト データ ソース」をクリック

 (2)そのままウィザードに従い「次へ」ボタンをクリックし、テーブル「検査結果」をクリックして完了ボタンをクリックします。

テーブル「検査結果」をクリックして完了ボタンをクリック
テーブル「検査結果」をクリックして完了ボタンをクリック

 (3)以上でデータベースファイルがGcMultiRowコントロールで表示され、列方向にデータが表示されるアプリケーションが出来上がりました。

 プロジェクトを実行して動作確認をします。データベースのデータが列方向に表示されます。

アプリケーションの実行画面
アプリケーションの実行画面

 また、データ未入力の欄にデータを入力すると、列方向に新たに入力列が自動的に追加されます。

 日付データがあればカレンダーが表示されますので、ここから入力することも可能です。

列方向に新たに入力列が自動的に追加されていく
列方向に新たに入力列が自動的に追加されていく

次のページ
1レコード複数列表示のデザイン

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9049 2015/11/16 16:37

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング