スタイルとは、ページレポート/RDLレポート内の特定のコントロールの外観を容易に変更するために作成・適用するプロパティのセットのことです。1つのスタイルでフォント、背景色、行間、罫線の色、パディング等のプロパティを定義することができます。スタイルにはCommon、Text、Table Of Contents、TOC 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プロパティを使用すれば選択したコントロールにスタイルを適用することができます。スタイルシートはローカル環境、への保存や、レポートへの埋め込みも可能です。
スタイル機能は次の要素で構成されています。
以下はスタイルシートの操作方法に関する手引きのリンクです。
[プロパティ]ウィンドウのSourceプロパティとValueプロパティを使用してレポートのスタイルシートを定義します。サブレポート用にはInheritStyleSheetプロパティを使用します。
プロパティ | 説明 |
---|---|
Source |
スタイルシートのソースを定義します。オプションは次の通りです。 External - スタイルシート(*.rdlx-stylesファイル)をローカルファイルやhttpロケーション、カスタムリソースなどの外部ソースとして使用する場合はこのオプションを選択します。外部スタイルシートの作成方法については「外部スタイルシートを操作するには」を参照してください。 Embedded - スタイルシートをレポート内に埋め込んで使用する場合はこのオプションを選択します。作成した埋め込みスタイルシートの名前は、[レポートエクスプローラ]の[埋め込みスタイルシート]ノードの下に表示されます。埋め込みスタイルシートの作成方法については「埋め込みスタイルシートを操作するには」を参照してください。 |
Value |
レポートに適用するスタイルシートを定義します。オプションは次の通りです。 式 - [式エディタ]ダイアログを開いて式を作成します。 新規 - [スタイルシートの編集]ダイアログを開いて外部スタイルシート、あるいは埋め込みスタイルシートを作成します。 開く - [開く]ダイアログを開いてローカルスタイルシートへ移動します。このオプションは外部スタイルシートでのみ利用可能です 。 レポート内で利用可能な埋め込みスタイルシートの名前は[レポートエクスプローラ]にリスト化されます。 |
InheritStyleSheet |
サブレポートに継承するスタイルシートを定義します。InheritStyleSheetプロパティを「True」(既定値)に設定すると、メインレポートのスタイルシートがサブレポートでも使用可能になります。 |
単体のデザイナやVisual Studioデザイナ上で[スタイルシートの編集]ダイアログを開くには、[レポート]メニューから[スタイルシートの編集]オプションを選択します。
[スタイルシートの編集]ダイアログは次の要素で構成されています。
要素 | 説明 |
---|---|
外部スタイルシートを開く | レポート外部のスタイルシート(*.rdlx-stylesファイル)を開きます。 |
埋め込みスタイルシートを開く | レポート内の埋め込みスタイルシートを開きます。 |
ファイルに保存する | 現在のスタイルシートを外部スタイルシート(*.rdlx-stylesファイル)として保存します。 |
スタイルシートを埋め込む | 現在のスタイルシートをレポートに埋め込みます。 |
新規スタイル | 現在のスタイルシートに新規のスタイルを作成します。 |
スタイルの削除 | 現在のスタイルシートからスタイルを削除します。 |
[プロパティ]ウィンドウ |
選択したスタイルのプロパティを変更します。スタイルのプロパティは選択したスタイルの種別によって異なります。ユーザーはスタイルを新規作成する際にスタイルの種別を選択することができます。 |
OK | 現在のスタイルを保存します。 |
キャンセル | 変更を保存せずにダイアログを閉じます。 |
[新規スタイルの追加]ダイアログを開くには、[スタイルシートの編集]ダイアログで[新規スタイル]オプションをクリックします。
[新規スタイルの追加]ダイアログは次の要素で構成されています。
要素 | 説明 |
---|---|
名前 | 新規スタイルの名前を格納します。 |
種別 |
レポートに適用することのできるスタイルの種別を設定します。このスタイルの種別によって[スタイルシートの編集]ダイアログの[プロパティ]ウィンドウ内で利用可能となるオプションが決定します。
|
親 | 新規スタイルの親スタイルであることを表します。親スタイルを指定すると、指定した親スタイルからプロパティの値が引用されます(親スタイルの既定値は「None」)。 |
[スタイルシートを埋め込む]ダイアログを開くには、[スタイルシートの編集]ダイアログから[保存]オプションを選択したのち、[スタイルシートを埋め込む]オプションを選択します。
[スタイルシートを埋め込む]ダイアログは次の要素で構成されています。
要素 | 説明 |
---|---|
スタイルシート名 | 埋め込みスタイルシートの名前を入力するか、既存のスタイルシートの名前をドロップダウンリストから選んで上書きします。 |
[埋め込みスタイルシートを開く]ダイアログを開くには、[スタイルシートの編集]ダイアログから[スタイルシートを開く]オプションを選択したのち、[埋め込みスタイルシートを開く]オプションを選択します。
[埋め込みスタイルシートを開く]ダイアログは次の要素で構成されています。
要素 | 説明 |
---|---|
スタイルシート名 | ドロップダウンリストから既存のスタイルシートを選択して上書きします。ここに新たな名前を入力してシートの名前を書き換えることもできます。 |
以下はスタイルシートの操作方法に関する手引きのリンクです。
次の操作のいずれかを行う前に、エディタでスタイルシートを開きます。
ヒント: [レポートエクスプローラ]から[スタイルシートの編集]ダイアログへのアクセスは、緑色の[追加](+)ボタンをクリックしたのちに[埋め込みスタイルシート]を選択しても可能です。単体デザイナ、あるいはVisualStudioデザイナでは、[レポート]メニューから[スタイルシートの編集]を選択します。
保存が完了すると、スタイルシート名が[レポートエクスプローラ]の[埋め込みスタイルシート]ノードの下に表示されます。
保存が完了すると、スタイルシート名が[レポートエクスプローラ]の埋め込みスタイルシートノードの下に表示されます。
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); |