ActiveReports for .NET 18.0J
Tablixでのセルの結合
ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > ページレポート/RDLレポートのチュートリアル > Tablix > Tablixでのセルの結合

本チュートリアルでは、Tablixデータ領域において同じ値を持つセルを自動的に結合し、重複した値を非表示にする方法を順番に説明します。ここでは、店舗の店舗番号と各店長の名前を所在地域別・地区別にまとめた表を例に実装方法を説明します。

このトピックでは、以下のタスクを行います。

メモ:

本チュートリアルを完了すると、次のレポートが作成されます。

デザイン時のレイアウト

実行時のレイアウト

Visual StudioにActiveReportsのプロジェクトを作成する

  1. Visual Studioで新規プロジェクトを開きます。
  2. [新しいプロジェクト]ダイアログが表示されます。[ActiveReports 18.0J RDLレポート アプリケーション]を選択し、ファイル名をrptTablixに変更します。
  3. [OK]ボタンをクリックするとActiveReports 18.0J RDLレポート アプリケーションが新規作成されます。プロジェクトにはデフォルトでRDLレポートが追加されています。

レポートレイアウトの追加については「クイックスタート」を参照してください。

レポートをデータソースに接続する

  1. [レポートエクスプローラ]で、[データソース]ノードを右クリックして[データソースの追加]オプションを選択するか、[追加](+)ボタンから[データソース]を選びます。
  2. [レポートデータソース]ダイアログ[全般]ページを選択し、[名前]SalesDataに変更します。
  3. このページでReelsデータベースに接続します。接続の詳細については「データソースとの接続」を参照してください。

データセットを追加する

  1. [レポートエクスプローラ][データソース]ノードを右クリックして[データセットの追加]オプションを選択するか、[追加](+)ボタンから[データセット]を選択します。
  2. [データセット]ダイアログ[全般]ページを選択し、[名前]フィールドをStoreDetailsに変更します。この名前はデータソースの子ノードとしてレポートエクスプローラに表示されます。
  3. このダイアログの[クエリ]ページでクエリフィールドに次のSQLクエリを入力します。
    SQLクエリ
    コードのコピー
    SELECT Regions.RegionID, Regions.Region, Districts.DistrictID, Districts.District,
    Store.StoreName, Person.FirstName, Person.LastName FROM ((Regions INNER JOIN
    Districts ON Regions.RegionID = Districts.Region) INNER JOIN Store ON
    Districts.DistrictID = Store.DistrictID) INNER JOIN Person ON Store.Manager =
    Person.PersonID;
    
  4. クエリボックスの右上にある[データセットの検証]アイコンをクリックしてクエリを検証します。
  5. [OK]をクリックしてダイアログを閉じます。データセットとクエリに入力した各フィールドの名前がノードとしてレポートエクスプローラに表示されます。

レポートのレイアウトを作成する

  1. ツールボックスからTablixデータ領域をドラッグしてデザイナ面にドロップします。
  2. ポインタをTextBox3(左下のTextBox)上でホバーさせると、フィールド選択用アイコン(五本線の入ったアイコン)がセルの右上隅に表れます。これをクリックし、表示される利用可能なフィールドの中から[Region]フィールドを選択します。このセルは行グループセルなので、フィールドを選択すると自動的に行グループが追加されます。
  3. [Region]行グループの上にあるTextBox1を選択し、[プロパティ]ウィンドウのValueプロパティ「所在地域」と入力します。これがこの行グループの見出しになります。
  4. [Region]フィールドが追加されたTextBox3を右クリックし、[行グループの追加][子グループ]の順に選択します。子グループが行の見出しの右に追加され、[グループエディタ]ウィンドウのリストにも追加されます。
  5. ポインタをTextBox5上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[District]フィールドを選択します。このセルは行グループセルなので、フィールドを選択すると自動的に行グループが追加されます。
  6. [District]行グループセルの上にあるTextBox6を選択し、[プロパティ]ウィンドウでValueプロパティ「地区」と入力します。これがこの行グループの見出しになります。
  7. [District]フィールドが追加されたTextBox5を右クリックし、[行グループの追加][子グループ]の順に選択します。手順4で追加したグループの隣に子グループが追加され、[グループエディタ]ウィンドウのリストにも追加されます。
  8. ポインタをTextBox7上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[StoreName]フィールドを選択します。このセルは行グループセルなので、フィールドを選択すると自動的に行グループが追加されます。
  9. [StoreName]行グループセルの上にあるTextBox8を選択し、[プロパティ]ウィンドウでValueプロパティ「店舗」と入力します。これがこの行グループの見出しになります。
  10. [StoreName]行グループセルの上にあるTextBox8を右クリックし、[列を挿入][右]の順に選択します。これによって静的な列が新規作成されます。
  11. ポインタをTextBox9上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[FirstName]フィールドを選択します。
  12. TextBox9を選択し、[プロパティ]ウィンドウでValueプロパティに次の式を入力します。
    =Fields!FirstName.Value & " " &Fields!LastName.Value
  13. =[FirstName] & " " & [LastName]と表示された列セルの上にあるTextBox10を選択し、[プロパティ]ウィンドウでValueプロパティ「店長」と入力します。これが静的な列の見出しになります。

レポートの外観性を高める

この時点でレポートをプレビューすると、各フィールドの値がTablixデータ領域に表示されていることがわかります。以下の各セルのプロパティを[プロパティ]ウィンドウで設定すると、Tablixデータ領域のレイアウト性を高めることができます。

セル プロパティ名 プロパティの値
=[Region] BackgroundColor Gainsboro
BorderStyle Solid
FontWeight Bold
TextAlign Center
VerticalAlign Middle
所在地域 BackgroundColor Gray
BorderStyle Solid
FontWeight Bold
TextAlign Center
=[District] BackgroundColor LightSteelBlue
BorderStyle Solid
FontWeight Bold
TextAlign Center
VerticalAlign Middle
地区 BackgroundColor Gray
BorderStyle Solid
FontWeight Bold
TextAlign Center
=[StoreName] BackgroundColor WhiteSmoke
BorderStyle Solid
TextAlign Center
店舗 BackgroundColor Gray
BorderStyle Solid
FontWeight Bold
TextAlign Center
=[FirstName] & " " & [LastName] BorderStyle Solid
TextAlign Center
店長 BackgroundColor Gray
BorderStyle Solid
FontWeight Bold
TextAlign Center

レポートを表示する

あるいは