I used to Telerik reporing for data show. It is work order. but after update 2020 R1. I can not replace the connection string. please help.
my controller:
[Route("api/reports")]
public class ReportsController : ReportsControllerBase
{
string reportsPath = string.Empty;
public ReportsController(IHostingEnvironment environment)
{
this.reportsPath = Path.Combine(environment.WebRootPath, "UserUpload\\Reports");
this.ReportServiceConfiguration = new ReportServiceConfiguration
{
HostAppId = "Html5DemoApp",
Storage = new FileStorage(),
ReportResolver = new ReportTypeResolver()
.AddFallbackResolver(new ReportFileResolver(this.reportsPath)),
};
}
[HttpGet("reportlist")]
public IEnumerable<string> GetReports()
{
return Directory
.GetFiles(this.reportsPath)
.Select(path =>
Path.GetFileName(path));
}
}
viewer code:
<script>
function ReportRendering(e,args) {
var info = args.deviceInfo;
//info.set("FontEmbedding", "Full");
}
function OnLoad()
{
var win = window.parent.GetWindow("WdIframe");
var report = win.reportName;
var parameters = win.reportParam;
var printMode = /(chrome)/.test(navigator.userAgent.toLowerCase())
? telerikReportViewer.PrintModes.FORCE_PDF_PLUGIN
: telerikReportViewer.PrintModes.FORCE_PDF_FILE;
$("#reportViewer")
.telerik_ReportViewer({
serviceUrl: "../api/reports/",
reportSource: {
report: report,
parameters: parameters,
},
viewMode: telerikReportViewer.ViewModes.PRINT_PREVIEW,
scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
scale: 1.0,
enableAccessibility: false,
sendEmail: { enabled: false }
});
//$("#reportViewer").telerik_ReportViewer({
// serviceUrl: "../Api/reports/",
// reportSource: {
// //report: "Telerik.Reporting.Examples.CSharp.ReportCatalog, CSharp.ReportLibrary",
// report: report,
// parameters: parameters,
// },
// renderingBegin:ReportRendering,
// viewMode: telerikReportViewer.ViewModes.PRINT_PREVIEW,
// scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
// scale: 1.0
//});
if (win.mode == "Print") {
var reportViewer = $("#reportViewer").data("telerik_ReportViewer");
reportViewer.bind(telerikReportViewer.Events.PAGE_READY, function (e) {
reportViewer.commands.print.exec();
});
}
}
$(document).ready(OnLoad());
</script>