コンポーネントの組み合わせで実現!
業務要件を満たす帳票アプリケーションの作り方
MultiRow + InputMan + ActiveReports = Windows業務アプリケーション
ダウンロード サンプルソース (610.9 KB)
画面を作成する
期待する帳票が出力できたら、次は画面の作成にとりかかります。ここで非常に役に立つのが、MultiRow for Windows Forms 6.0Jの新機能の1つである「トレーシングモード」です。
あらかじめ請求明細書を画像ファイルとして保存しておけば、図5のようにトレーシングモードでMultiRowのテンプレートデザイナの背景として表示できます。画像は表示倍率も変えられ、表示位置もセクションごとに別々に変えられるので、例えば図5でも、ヘッダセクションに含まれる要素を少なくして帳票には必要でも入力画面では不要な部分を除いた位置に表示することもできます。
このように表示した帳票の現物の上にMultiRowのセルコントロールを配置していけば直感的に同じデザインが作成できます。
MultiRow 6.0Jの新機能:InputManコントロールを使用する
MultiRowのセルはWindowsフォームの標準コントロールを使用しています。そのため、業務アプリケーションを作成していると標準コントロールの機能ではなくInputManの機能が使いたくなる時があります。もし、MultiRow for Windows Forms 6.0JとInputMan for Windows Forms 6.0Jの両方を使用しているならば、グレープシティのWebサイトから「InputManCell for Windows Forms 6.0J」をダウンロードして追加インストールすることで、MultiRowのセルとしてInputManコントロールが使用できるようになります。

MultiRow 6.0Jの新機能:セルコントロールの置換
MultiRow for Windows Forms 6.0Jは、このままでも配置済のセルコントロールを別の型のセルコントロールに簡単に変更できます。テンプレートデザイナで該当のセルコントロールを右クリックし、[置換]メニューから置換先のセルコントロールを選択すれば、可能な限りプロパティなどを転記して新しいセルコントロールに変更されます。もちろん、InputManCellが使えるならばInputManCellに置換することも可能です。

計算列の指定
各明細行やヘッダやフッタにサマリー型セルコントロールを配置して、Calculationプロパティを設定しておけば自動計算が可能です。
例1:明細行の合計を求める
明細部分の「Price_Cell」セルの合計をヘッダセクションに表示したいときは、ヘッダセクションにサマリー型セルコントロールを配置して次のようにプロパティを設定します。
| Calculation | MathStatistics |
| CellName | Price_Cell |
| ExcludeHiddenRows | True |
| Statistics | Sum |
例2:消費税を計算する
税抜き合計価格を表示した「NowConsume_Cell」セルから消費税を自動計算したいときは、サマリー型セルコントロールに次のようにプロパティを設定します。
| Calculation | Expression |
| Expression | NowConsume_Cell * 0.05 |
Windowsフォームに配置する
テンプレートが作成できたらWindowsフォームに配置したMultiRowコントロールのTemplateプロパティに指定します。図8では赤線で囲まれた部分がMultiRow部分になります。

この記事は参考になりましたか?
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

