ActiveReports for .NET 18.0J
スタイル
ActiveReportsユーザーガイド > 概念 > ページレポート/RDLレポートの概念 > レポートの外観 > スタイル

スタイルとは

スタイルとは、ページレポート/RDLレポート内の特定のコントロールの外観を容易に変更するために作成・適用するプロパティのセットのことです。1つのスタイルでフォント、背景色、行間、罫線の色、パディング等のプロパティを定義することができます。スタイルにはCommonTextTable Of ContentsTOC Levelの4つの種別があります。スタイル各種の特徴、詳細については「スタイルの操作」を参照してください。

スタイルシートとは

ActiveReports for .NET18.0Jでは、複数のスタイルを作成してスタイルシートに保存することができます。このことから、スタイルシートはスタイルのコレクションであるといえます。ページレポート/RDLレポートへのスタイルシートの追加はGrapeCity.ActiveReports.PageReportModel.Report.StyleSheetSourceプロパティとGrapeCity.ActiveReports.PageReportModel.Report.StyleSheetValueプロパティを設定することで可能になります。また、スタイルはStyleNameプロパティを設定することで各コントロールに適用することができます。スタイルシートはレポートに埋め込むか、レポート外部に*.rdlx-stylesファイルとして保存します。詳細については「スタイルの操作」を参照してください。

スタイルシートには2種類の使用方法があります。

スタイルを使用する理由

スタイルを使用することによって、レポートの書式設定においてより細かな制御が可能になります。ここからは、スタイルがレポートのデザインにおいて発揮する効果について、簡単な使用例をもとに説明します。

スタイルの再利用

ある会社組織が、地区別売上報告書、製品別売上報告書のサブレポートから成る年次売上報告書を提出する必要があるとします。年次売上報告書はすべてのサブレポートを基に構成されているため、書式は一貫している必要があります。通常、レポート作成者はメインレポート上の各コントロールのプロパティを手動で書式設定し、サブレポートに同じプロパティを複製する必要がありますが、この作業は手間がかかる上、レポート全体の書式が一貫しなくなる可能性があります。ActiveReports for .NET18.0Jのスタイル機能を使えば、下のスクリーンショットに見られるように、レポート全体の書式に一貫性をもたらすことができます。ここからは、その機能についてさらに詳しく見ていきましょう。

レポート作成者はメインレポートとなる年次売上報告書をデザインするためにスタイルシートを新規作成し、[スタイルシートの編集]ダイアログを使用してスタイルを追加することができます。作成したスタイルは、StyleNameプロパティを使用することで、年次売上報告書に配置する各コントロールへの適用が可能になります。詳細については、「スタイルの操作」を参照してください。

年次売上報告書のスタイルシートを作成すると、スタイルシートを継承するか否かをGrapeCity.ActiveReports.PageReportModel.Subreport.InheritStyleSheetプロパティから設定することができます。既定値は「True」(継承する)です。

InheritStyleSheetプロパティを「True」に設定すると、年次売上報告書用のスタイルシートの書式は自動的にサブレポートに継承されます。これによって、年次売上報告書に適用したすべてのスタイルが双方のサブレポートで利用可能になります。サブレポートにスタイルを適用するには、特定のコントロールを選択し、StyleNameプロパティで使用するスタイルの名前を指定します。

この例から、スタイルを使用することによって複数のサブレポートと書式を柔軟に共有することが可能になり、時間の節約と、書式の一貫性の維持を実現できることが分かります。

スタイルシートは*.rdlx-stylesファイルとしてレポート外部に保存して、同一のスタイルシートを複数のレポートで使用することができます。外部スタイルシートの使用方法については、「スタイルの操作」を参照してください。

埋め込みスタイルシートの有効性

ActiveReports for .NET18.0Jではレポートに外部スタイルシートを埋め込むことができます。この機能は、複数のスタイルシートを使ってスタイルされたレポートを一括して送信する際に威力を発揮します。次に、先のものとは別の売上報告書を例に、埋め込みスタイルシートが有効なユースケースについて説明します。

ユースケース

ある会社組織が、4つの異なるスタイルシートから成る売上報告書を送信する必要があるとします。スタイルを施したレポートを送信する際は、5つのファイル、ここでは1つのレポートと4つの外部スタイルシートをまとめて送る必要があります。ファイルを受信する側には、5つのファイルを維持、保管する必要が生じます。さらに、スタイルシートのロケーションがレポートで設定したパスの位置から変更された場合は、パスを再設定しないかぎり、そのスタイルシートはレポートに適用されなくなるという問題も出てきます。

このような場合、外部スタイルシートを売上報告書に埋め込んでしまえば、送る必要のあるファイルは1つだけとなり、レポートのポータビリティが向上します。外部スタイルシートを埋め込む方法については、「外部スタイルシートをレポートに埋め込む」を参照してください。

ActiveReports for .NET18.0Jでは、スタイルを作成してスタイルシートに保存することができます。そのスタイルシートはページレポートやRDLレポートへの追加が可能で、StyleNameプロパティを使用すれば選択したコントロールにスタイルを適用することができます。スタイルシートはローカル環境への保存や、レポートへの埋め込みも可能です。

スタイル機能は次の要素で構成されています。

以下はスタイルシートの操作方法に関する手引きのリンクです。

Stylesheetプロパティ

[プロパティ]ウィンドウのSourceプロパティとValueプロパティを使用してレポートのスタイルシートを定義します。サブレポート用にはInheritStyleSheetプロパティを使用します。

プロパティ 説明
Source

スタイルシートのソースを定義します。オプションは次の通りです。

External - スタイルシート(*.rdlx-stylesファイル)をローカルファイルやhttpロケーション、カスタムリソースなどの外部ソースとして使用する場合はこのオプションを選択します。外部スタイルシートの作成方法については「外部スタイルシートを操作するには」を参照してください。

Embedded - スタイルシートをレポート内に埋め込んで使用する場合はこのオプションを選択します。作成した埋め込みスタイルシートの名前は、[レポートエクスプローラ][埋め込みスタイルシート]ノードの下に表示されます。埋め込みスタイルシートの作成方法については「埋め込みスタイルシートを操作するには」を参照してください。

Value

レポートに適用するスタイルシートを定義します。オプションは次の通りです。

- [式エディタ]ダイアログを開いて式を作成します。

新規 - [スタイルシートの編集]ダイアログを開いて外部スタイルシート、あるいは埋め込みスタイルシートを作成します。

開く - [開く]ダイアログを開いてローカルスタイルシートへ移動します。このオプションは外部スタイルシートでのみ利用可能です 。

レポート内で利用可能な埋め込みスタイルシートの名前は[レポートエクスプローラ]にリスト化されます。

InheritStyleSheet

サブレポートに継承するスタイルシートを定義します。InheritStyleSheetプロパティを「True」(既定値)に設定すると、メインレポートのスタイルシートがサブレポートでも使用可能になります。

メモ: フィールド値を[StyleSheet Value]、[StyleName]、[Styles]の式で使用する場合、その値は評価されません。

[スタイルシートの編集]ダイアログ

単体のデザイナやVisual Studioデザイナ上で[スタイルシートの編集]ダイアログを開くには、[レポート]メニューから[スタイルシートの編集]オプションを選択します。

[スタイルシートの編集]ダイアログは次の要素で構成されています。

要素 説明
外部スタイルシートを開く レポート外部のスタイルシート(*.rdlx-stylesファイル)を開きます。
埋め込みスタイルシートを開く レポート内の埋め込みスタイルシートを開きます。
ファイルに保存する 現在のスタイルシートを外部スタイルシート(*.rdlx-stylesファイル)として保存します。
スタイルシートを埋め込む 現在のスタイルシートをレポートに埋め込みます。
新規スタイル 現在のスタイルシートに新規のスタイルを作成します。
スタイルの削除 現在のスタイルシートからスタイルを削除します。
[プロパティ]ウィンドウ

選択したスタイルのプロパティを変更します。スタイルのプロパティは選択したスタイルの種別によって異なります。ユーザーはスタイルを新規作成する際にスタイルの種別を選択することができます。

OK 現在のスタイルを保存します。
キャンセル 変更を保存せずにダイアログを閉じます。
メモ: スタイルシートで定義した値は[プロパティ]ウィンドウに上書きされ、太字で表示されます。

[新規スタイルの追加]ダイアログ

[新規スタイルの追加]ダイアログを開くには、[スタイルシートの編集]ダイアログで[新規スタイル]オプションをクリックします。

[新規スタイルの追加]ダイアログは次の要素で構成されています。

要素 説明
名前 新規スタイルの名前を格納します。
種別 レポートに適用することのできるスタイルの種別を設定します。このスタイルの種別によって[スタイルシートの編集]ダイアログの[プロパティ]ウィンドウ内で利用可能となるオプションが決定します。

Common
このスタイルは次のレポートコントロールに適用します。
  • CheckBox
  • Image
  • List
  • Tablix
  • Shape
  • Table
  • TableOfContents
  • TextBox
Text
このスタイルは、TextBoxコントロールに適用されます。TextBoxコントロールで利用可能なプロパティに加えて、[Common]スタイルのすべてのプロパティを網羅しています。
TOC
このスタイルは、TableOfContentsコントロールに適用されます。
TOC Level
このスタイルは、TableOfContentsコントロールの[ToC.Level]オブジェクトに適用されます。
新規スタイルの親スタイルであることを表します。親スタイルを指定すると、指定した親スタイルからプロパティの値が引用されます(親スタイルの既定値は「None」)。

[スタイルシートを埋め込む]ダイアログ

[スタイルシートを埋め込む]ダイアログを開くには、[スタイルシートの編集]ダイアログから[保存]オプションを選択したのち、[スタイルシートを埋め込む]オプションを選択します。

[スタイルシートを埋め込む]ダイアログは次の要素で構成されています。

要素 説明
スタイルシート名 埋め込みスタイルシートの名前を入力するか、既存のスタイルシートの名前をドロップダウンリストから選んで上書きします。

[埋め込みスタイルシートを開く]ダイアログ

[埋め込みスタイルシートを開く]ダイアログを開くには、[スタイルシートの編集]ダイアログから[スタイルシートを開く]オプションを選択したのち、[埋め込みスタイルシートを開く]オプションを選択します。

[埋め込みスタイルシートを開く]ダイアログは次の要素で構成されています。

要素 説明
スタイルシート名 ドロップダウンリストから既存のスタイルシートを選択して上書きします。ここに新たな名前を入力してシートの名前を書き換えることもできます。

 

 

以下はスタイルシートの操作方法に関する手引きのリンクです。

スタイルシート内でスタイルを操作する

次の操作のいずれかを行う前に、エディタでスタイルシートを開きます。

埋め込みスタイルシートのエディタを開く

  1. [レポートエクスプローラ][埋め込みスタイルシート]ノードを開き、編集する既存のスタイルシートを選択します。
  2. 選択したスタイルシートを[スタイルシートの編集]ダイアログで開くには、スタイルシート名を右クリックして[編集]を選択します。

外部スタイルシートのエディタを開く

  1. 単体のデザイナやVisual Studioデザイナ上の[レポート]メニューから[スタイルシートの編集]オプションを選択します。
  2. [スタイルシートの編集]ダイアログで[開く]ボタンをクリックし、[外部スタイルシートを開く]オプションを選択します。
  3. [開く]ダイアログから開きたいスタイルシート(*.rdlx-stylesファイル)に移動します。
  4. [開く]をクリックして外部スタイルシートを開きます。

スタイルシートに新たなスタイルを追加する

  1. [スタイルシートの編集]ダイアログで[新規スタイル]ボタンをクリックして新たなスタイルを追加します。
  2. [新規スタイルの追加]ダイアログでスタイルの[名前]を入力し、[種別][親]スタイルを選択します。
    ヒント: スタイルの種別の詳細については「スタイルの操作」を参照してください。TableOfContentsコントロールと見出しレベルのスタイルを作成する方法については「TableOfContentsコントロールにスタイルを適用する」と「TableOfContentsレベルにスタイルを適用する」を参照してください。

スタイルシートのスタイルを変更する

  1. [スタイルシートの編集]ダイアログで変更したい既存のスタイルを選択し、右側のフィールドを使ってプロパティを変更します。
  2. [OK]をクリックして変更を保存します。

スタイルシートからスタイルを削除する

  1. [スタイルシートの編集]で削除したいスタイルを選択し、[スタイルの削除]を選択します。
  2. [OK]をクリックして変更を保存します。

デザイン時に既存スタイルシートのスタイルを適用する

  1. レポートのデザイナ面で、レポート周辺のグレー領域をクリックしてレポートを選択し、[プロパティ]ウィンドウの下部にあるコマンドから[プロパティ設定ダイアログ]リンクを選択します。コマンドへのアクセス方法については、「[プロパティ]ウィンドウ」を参照してください。
  2. [レポート]ダイアログから[外観]ページへ移動します。
  3. [外観]ページでスタイルシートの[ソース]フィールドを「Embedded」に設定し、[値]フィールドで既存の埋め込みスタイルシートを選択します(または「External」を選択し、[ファイルを開く]オプションをクリックして*.rdlx-stylesファイルのスタイルシートへ移動します)。
    ヒント: [プロパティ]ウィンドウのSourceValueにアクセスすることもできます。SourceプロパティとValueプロパティの詳細については、「スタイルの操作」を参照してください。
  4. [OK]をクリックしてダイアログを閉じます。
  5. デザイナ面上でスタイルを追加したいコントロールを選択します。
  6. [プロパティ]ウィンドウのStyleNameプロパティのドロップダウンリストから適用するスタイルを選択します。

埋め込みスタイルシートを操作する

埋め込みスタイルシートを作成、保存する

  1. [レポートエクスプローラ][埋め込みスタイルシート]ノードを右クリックして、[埋め込みスタイルシートの追加]オプションを選択して[スタイルシートの編集]ダイアログへアクセスします。

    ヒント: [レポートエクスプローラ]から[スタイルシートの編集]ダイアログへのアクセスは、緑色の[追加](+)ボタンをクリックしたのちに[埋め込みスタイルシート]を選択しても可能です。単体デザイナ、あるいはVisualStudioデザイナでは、[レポート]メニューから[スタイルシートの編集]を選択します。

  2. [保存]ボタンをクリックしたのちに[スタイルシートを埋め込む]を選択し、レポートにスタイルシートを埋め込みます。
  3. 新規の場合はスタイルシート名を入力し(既存の場合はドロップダウンリストからスタイルシート名を選択して上書き)、[OK]をクリックして埋め込みスタイルシートを保存します。

    保存が完了すると、スタイルシート名が[レポートエクスプローラ][埋め込みスタイルシート]ノードの下に表示されます。

埋め込みスタイルシートを外部スタイルシートとして保存する

  1. [レポートエクスプローラ][埋め込みスタイルシート]ノードを開き、スタイルシート名を選択します。
  2. スタイルシート名を右クリックして[編集]を選択し、[スタイルシートの編集]ダイアログを開きます。
  3. [スタイルシートの編集]ダイアログで[保存]ボタンをクリックします。シートをレポート外部に保存するために[ファイルに保存する]オプションを選択します。

  4. [名前を付けて保存]ダイアログからスタイルシートを保存したい場所へ移動します。スタイルシート名を入力し、ファイルの種類を*.rdlx-stylesに指定したのち、[保存]ボタンをクリックしてシートを保存します。

外部スタイルシートを操作する

外部スタイルシートを作成、保存する

  1. 単体のデザイナ、あるいはVisualStudioデザイナで[レポート]メニューをクリックし、[スタイルシートの編集]を選択します。
  2. [スタイルシートの編集]ダイアログで[保存]ボタンをクリックし、[ファイルに保存する]オプションを選択します。
  3. [名前を付けて保存]ダイアログでスタイルシートを保存したい場所まで移動します。スタイルシートの名前を入力し、ファイルの種類を*.rdlx-stylesに指定したのち、[保存]ボタンをクリックしてシートを保存します。

外部スタイルシートをレポートに埋め込む

  1. 単体のデザイナ、あるいはVisualStudioデザイナで、[レポート]メニューをクリックし、[スタイルシートの編集]を選択します。
  2. [スタイルシートの編集]ダイアログで[開く]ボタンをクリックし、[開く]オプションを選択します。
  3. [開く]ダイアログからロードしたい外部スタイルシート(*.rdlx-stylesファイル)へ移動し、[開く]ボタンをクリックして[スタイルシートの編集]ダイアログでロードします。
  4. [スタイルシートの編集]ダイアログで[保存]ボタンをクリックしたのちに、[スタイルシートを埋め込む]オプションを選択します。
  5. [埋め込みスタイルシート]ダイアログでスタイルシートの名前を入力したのちに、[OK]をクリックしてロードしたスタイルシートをレポート内に埋め込みます。

    保存が完了すると、スタイルシート名が[レポートエクスプローラ]埋め込みスタイルシートノードの下に表示されます。

コードでスタイルを適用する

  1. Visual Studioで新規、あるいは既存のページレポートを開きます。
  2. Form.cs、あるいはForm.vbが開いたら、タイトルバーをクリックしてForm_Loadイベントを作成します。
  3. Form_Loadイベント内に以下のコードを追加します。

Visual Basic

Visual Basicコード(Form_Loadイベント内に貼り付けます)
コードのコピー
        'ロードするページレポートのパスと名前を入力します。
        Dim filePath As String = "C:\SampleReport.rdlx"
        Dim pageReport As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(filePath))
        Dim reportDocument As New GrapeCity.ActiveReports.Document.PageDocument(pageReport)

        ' 外部スタイルシートを使用してスタイルシートのソースと値を設定します。
        reportDocument.PageReport.Report.StyleSheetSource = GrapeCity.ActiveReports.PageReportModel.StyleSheetSource.External
        reportDocument.PageReport.Report.StyleSheetValue = "C:\ExternalStyle.rdlx-styles"

        ' 埋め込みスタイルシートを使用してスタイルシートのソースと値を設定します。
        reportDocument.PageReport.Report.StyleSheetSource = GrapeCity.ActiveReports.PageReportModel.StyleSheetSource.Embedded
        reportDocument.PageReport.Report.StyleSheetValue = "EmbeddedStylesheet1

' テキストボックスコントロールをひとつ追加して、スタイルを適用します。
Dim text As New GrapeCity.ActiveReports.PageReportModel.TextBox()
text.Value = "サンプルテキスト"
text.Style.StyleName = "Style1"
pageReport.Report.Body.ReportItems.Add(text)
viewer1.LoadDocument(reportDocument)

C#

C#コード(Form_Loadイベント内に貼り付けます)
コードのコピー
// ロードするページレポートのパスと名前を入力します。
string filePath = @"C:\SampleReport.rdlx";
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(filePath));
GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);

// 外部スタイルシートを使用してスタイルシートのソースと値を設定します。
reportDocument.PageReport.Report.StyleSheetSource = GrapeCity.ActiveReports.PageReportModel.StyleSheetSource.External;
reportDocument.PageReport.Report.StyleSheetValue = @"C:\ExternalStyle.rdlx-styles";

// 埋め込みスタイルシートを使用してスタイルシートのソースと値を設定します。
reportDocument.PageReport.Report.StyleSheetSource = GrapeCity.ActiveReports.PageReportModel.StyleSheetSource.Embedded;
reportDocument.PageReport.Report.StyleSheetValue = "EmbeddedStylesheet1";
            

// テキストボックスコントロールをひとつ追加して、スタイルを適用します。
GrapeCity.ActiveReports.PageReportModel.TextBox text = new GrapeCity.ActiveReports.PageReportModel.TextBox();
text.Value = "サンプルテキスト";
text.Style.StyleName = "Style1";
pageReport.Report.Body.ReportItems.Add(text);
viewer1.LoadDocument(reportDocument);
関連トピック