PR

【ActiveReports】テーブルレイアウトで1行ごとに背景色を変更する方法

ActiveReports

1行ごとに背景色を変えて一覧表示する場面は多々あります。

オンラインマニュアルに記載はありますが、毎回調べているので自分用の備忘録として残しておきます。

セクションレポート

1.メソッドを作成する

デザイナ画面のDetailセクションをダブルクリックし、Detail_Formatイベントのイベント処理メソッドを作成する。

2.コードを記述する

イベント処理メソッドに次のコードを追加する。

Visual Basic

Visual Basicコード(Detail_Formatイベントの上に張り付け)

Dim color As Boolean

Visual Basicコード(Detail_Formatイベント内に張り付け)

If color = True Then
    Me.Detail1.BackColor = System.Drawing.Color.DarkSeaGreen
    color = False
Else
    Me.Detail1.BackColor = System.Drawing.Color.Transparent
    color = True
End If

C#

C#コード(detail_Formatイベントの上に張り付け)

bool color;

C#コード(detail_Formatイベント内に張り付け)

if(color) {
    this.detail.BackColor = System.Drawing.Color.DarkSeaGreen;
    color = false;
} else {
    this.detail.BackColor = System.Drawing.Color.Transparent;
    color = true;
}

3.プレビューで確認する

デザイナ画面上にTextBoxなどのコントロールを追加し、レポートをプレビューする。

PowerTools ActiveReports for .NET 11.0J

ページレポート/RDLレポート

1.テーブルを配置する

Visual Studioのツールボックスから、Tableデータ領域をデザイナ画面上にドラッグ&ドロップする。

2.プロパティを設定する

Tableの詳細行の左側にあるハンドルを右クリックし、[プロパティ]を選択する。

[プロパティ]ウィンドウで、『BackgroundColor』プロパティに以下の式を設定する。

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

3.プレビューで確認する

結果を表示するには、 [プレビュー] タブへ移動する。 

PowerTools ActiveReports for .NET 11.0J

コメント

タイトルとURLをコピーしました