作成日: 2020/07/21 最終更新日: 2020/07/21
文書種別
使用方法
詳細
JSビューワが参照するレポートサービスを.NET Coreで構築している場合、セクションレポートは表示できません。
※セクションレポートは.NET Coreアプリケーションでは利用できません。
レポートサービスを.NET Frameworkで構築している場合は、セクションレポートも表示できます。
具体的な方法は以下をご確認ください。
XML形式のセクションレポート(.rpx)は、ページレポート/RDLレポート(.rdlx)と同様に、ファイル名を指定することで表示できます。
◆サンプルコード(JavaScript)
コード形式のセクションレポート(.cs/.vb)を表示する場合は、UseCustomStoreでレポートサービスの動作をカスタマイズする必要があります。
Startupクラスに以下の記述を追加してください。
◆サンプルコード(C#)
呼び出し側ではクラス名を渡してください。
◆サンプルコード(JavaScript)
複数のレポート形式を表示したい場合は、拡張子で処理を振り分けてください。
◆サンプルコード(C#)
※セクションレポートは.NET Coreアプリケーションでは利用できません。
レポートサービスを.NET Frameworkで構築している場合は、セクションレポートも表示できます。
具体的な方法は以下をご確認ください。
XML形式のセクションレポート(.rpx)は、ページレポート/RDLレポート(.rdlx)と同様に、ファイル名を指定することで表示できます。
◆サンプルコード(JavaScript)
// 初期表示
viewer = GrapeCity.ActiveReports.JSViewer.create({
element: '#viewerContainer',
reportID: 'SectionReport1.rpx'
});
// 表示変更
viewer.openReport("SectionReport2.rpx");
コード形式のセクションレポート(.cs/.vb)を表示する場合は、UseCustomStoreでレポートサービスの動作をカスタマイズする必要があります。
Startupクラスに以下の記述を追加してください。
◆サンプルコード(C#)
public void Configuration(IAppBuilder app)
{
app.UseErrorPage();
app.UseReporting(settings =>
{
settings.UseEmbeddedTemplates(EmbeddedReportsPrefix, Assembly.GetAssembly(GetType()));
settings.UseCompression = true;
// 追加
settings.UseCustomStore(GetReport);
});
RouteTable.Routes.RouteExistingFiles = true;
}
public object GetReport(string reportName)
{
// 名前空間を付加して完全修飾名にする
var fullname = this.GetType().Namespace + ".Reports." + reportName;
// セクションレポートのオブジェクトを生成して返す
var report = Activator.CreateInstance(Type.GetType(fullname));
return report;
}
呼び出し側ではクラス名を渡してください。
◆サンプルコード(JavaScript)
viewer.openReport("SectionReport1");
複数のレポート形式を表示したい場合は、拡張子で処理を振り分けてください。
◆サンプルコード(C#)
public object GetReport(string reportName)
{
object report;
string reportPath;
if (reportName.EndsWith(".rdlx"))
{
// ページレポート/RDLレポート
reportPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "/Reports/" + reportName;
report = new PageReport(new System.IO.FileInfo(reportPath));
}
else if (reportName.EndsWith(".rpx"))
{
// セクションレポート(XML形式)
reportPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "/Reports/" + reportName;
SectionReport sectionReport = new SectionReport();
sectionReport.LoadLayout(new System.Xml.XmlTextReader(reportPath));
report = sectionReport;
}
else
{
// セクションレポート(コード形式)
reportPath = this.GetType().Namespace + ".Reports." + reportName;
report = Activator.CreateInstance(Type.GetType(reportPath));
}
return report;
}
旧文書番号
85826