SHOEISHA iD

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

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

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)

コンポーネントの組み合わせで実現!
業務要件を満たす帳票アプリケーションの作り方

MultiRow + InputMan + ActiveReports = Windows業務アプリケーション

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

画面を作成する

 期待する帳票が出力できたら、次は画面の作成にとりかかります。ここで非常に役に立つのが、MultiRow for Windows Forms 6.0Jの新機能の1つである「トレーシングモード」です。

図5 トレーシングモードの例
図5 トレーシングモードの例

 あらかじめ請求明細書を画像ファイルとして保存しておけば、図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コントロールが使用できるようになります。

図6 InputManCellコントロール
図6 InputManCellコントロール

MultiRow 6.0Jの新機能:セルコントロールの置換

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

図7 セルコントロールの置換、InputManCellにも置換可能
図7 セルコントロールの置換、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部分になります。

図8 テンプレートの指定、赤枠内がMultiRow部分
図8 テンプレートの指定、赤枠内がMultiRow部分

次のページ
データ連携コードを記述する

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

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング