SHOEISHA iD

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

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

5分でわかるActiveReports帳票

5分でわかるActiveReports帳票(2013年度版)-ページレポートにおけるグループ化と式

ActiveReports for .NET 7.0Jで作るサンプル帳票(4)

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

ページレポートのスクリプト

 式だけで高度な制御を行うことが可能ですが、より複雑な処理を実装する場合や、同じ処理を複数の箇所で使用したい場合、メンテナンス性に問題が生じる場合があります。このように複数の箇所で使用する複雑な処理は、「スクリプト」タブの中に関数として定義しておき、それを参照することができます。

 ページレポートのデザイン画面には、「スクリプト」タブがあります。これを開いてVisual Basicの構文でスクリプトを記述します。

 例えば、先程の「千円単位で表示する」という処理を関数として定義する場合、以下のようになります。

Public Function To1000Yen(value As Integer) As String
	Dim v As Single = value / 1000
	Return v & "千円"
End Function

 この関数を呼び出す場合も式を使います。具体的には「=Code.〈メソッド名〉」と記述します。例えば、以下のようになります。

=Code.To1000Yen(Fields!ProductSales.Value)

 上記の式では、関数「To1000Yen」の引数に、処理する値を与えるフィールドを設定しています。

明細行の背景色を一行おきに変更する

 式はTextBoxコントロールのValueプロパティだけでなく、他のさまざまなプロパティでも使用できます(ただしExpressionInfo型のプロパティに限ります)。

 

 例えば、明細などで一行おきに別の背景色を設定したい場合、BackGroundColorプロパティに式を設定することで実現できます。

 

 Tableの詳細行にあるTextBoxコントロールのBackGroundColorプロパティに、以下の値を設定すると、背景色を一行おきに変化させることができます。

=iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")

 ぜひ試してみてください。

Tableでのグループ化

 Tableでは、データのグループ化を行うことが可能です。

 左端の行タブを右クリックし、「グループの挿入」を選択します。グループヘッダ行とフッタ行がTableに追加されます。

グループの挿入
グループの挿入
グループを追加したTable
グループを追加したTable

 上から、テーブルヘッダ、グループヘッダ、詳細、グループフッタ、テーブルフッタです。

 グループを追加すると、Tableグループダイアログが出てきます。ここで、グループのキーとするフィールドを式で指定します。ここでは、CategoryIDフィールドを指定します。

Tableグループダイアログ
Tableグループダイアログ

 Tableにグループヘッダとフッタが追加され、CategoryIDの値によってグループ分けされるようになりました。なお、Tableグループダイアログは、Table全体の設定ダイアログから呼び出すことも可能です。

次のページ
グループヘッダ・フッタのレイアウト

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

  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

グレープシティ株式会社 ActiveReportsチーム(グレープシティカブシキガイシャ アクティブレポートチーム)

 宮城県仙台市に本社を構えるグレープシティでは、日本の業務に適したシステムをより早く開発するためのソフトウェアを提供しています。エンドユーザーの利用しやすさ、幅広いユーザー環境への対応、そして何よりプログラマの作業を軽減することを一番に目指しています。 ActiveReportsは、帳票開発に必要なあらゆる機能を備えた当社を代表するコンポーネントの1つ。1998年の発売以来、日本だけでなく全世界で多数の帳票開発者に使用されています。製品開発は同チームが中心になり、「日本仕様」の厳しい要望を実現することを目指しています。...

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング