I am trying to upgrade a visual studio 2015 mvc application from R3 2016 to R3 2018. The upgrade wizard reported that it successfully upgraded the solution, but it didn't. I manually added the new libraries and fixed the reportviewer code and api code. Unfortunately I cannot get the parameter area to show for any reports. My project contains the following references:
Telerik.Reporting.dll (12.2.18.1017)
Telerik.Reporting.Services.WebApi (12.2.18.1017)
Telerik.ReportViewer.Mvc (12.2.18.1017)
The code for the view is as follows - note that I tried explicitly setting the parameter area visible in the code and I also have clicked the parameter toggle on the toolbar once the report loads - neither had any effect.
@model MTE.MVC.Models.ReportModel
@{
ViewBag.Title = "Reports";
MTE.MVC.MTEIdentity currentUser = null;
if (Request.IsAuthenticated)
{
currentUser = (User as TACSecurity.TSPrincipal).Identity as MTE.MVC.MTEIdentity;
}
}
@section styles
{
@Styles.Render("~/Reports/styles/telerikReportViewer.css")
<
style
>
#reportViewer1 {
position: relative;
width: 100%;
height: 750px;
font-family: 'segoe ui', 'ms sans serif';
overflow: hidden;
}
</
style
>
}
<
div
class
=
"container-fluid"
>
<
div
class
=
"row"
>
<
div
class
=
"col-xs-12"
>
<
div
class
=
"form-inline"
>
<
div
class
=
"form-group"
id
=
"grpCategory"
>
<
label
class
=
"control-label"
>Category</
label
>
@(Html.Kendo().DropDownList().Name("cboCategory").HtmlAttributes(new { style = "width:200px" })
.DataSource(d => d
.Read("GetReportCategories", "Reporting")
.Events(events => events.Error("kendoErrorHandler"))
)
)
</
div
>
<
div
class
=
"form-group"
>
<
label
class
=
"control-label"
>Report</
label
>
@(Html.Kendo().DropDownList().Name("cboReport").HtmlAttributes(new { style = "width:400px" })
.DataTextField("ReportName")
.DataValueField("ReportUri")
.DataSource(d => d
.ServerFiltering(true)
.Read(read => read.Action("GetReportNames", "Reporting").Data("paramCategory"))
.Events(events => events.Error("kendoErrorHandler"))
)
.CascadeFrom("cboCategory")
.AutoBind(false)
)
</
div
>
<
div
class
=
"form-group"
>
<
button
type
=
"button"
class
=
"btn btn-primary"
onclick
=
"btnReportClick()"
>Load</
button
>
</
div
>
</
div
>
</
div
>
</
div
>
<
br
/>
<
div
class
=
"row"
>
<
div
class
=
"col-xs-12"
>
@(Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl("/api/reportsapi/")
.ReportSource("Default Report.trdx")
.ViewMode(ViewMode.Interactive)
.ScaleMode(ScaleMode.Specific)
.Scale(1.0)
.PersistSession(false)
.PrintMode(PrintMode.AutoSelect)
.EnableAccessibility(false)
.SearchMetadataOnDemand(false)
.SendEmail(new SendEmail { Enabled = true })
.Deferred()
)
</
div
>
</
div
>
</
div
>
@section scripts
{
<
script
src
=
"@Url.Content("
~/Reports/js/telerikReportViewer.kendo-12.2.18.1017.min.js")"></
script
>
<
script
src
=
"@Url.Content("
~/Reports/js/telerikReportViewer-12.2.18.1017.js")"></
script
>
@(Html.TelerikReporting().DeferredScripts())
}
<
script
type
=
"text/javascript"
>
$(document).ready(function () {
@if(currentUser.Role == MTE.MVC.Roles.Customer || currentUser.Role == MTE.MVC.Roles.Hauler)
{
@:$("#grpCategory").hide();
}
// $("#cboReport").data("kendoDropDownList").dataSource.read();
});
function paramCategory() {
@if(currentUser.Role == MTE.MVC.Roles.Customer)
{
@:return { category: "Customers" };
}
else if(currentUser.Role == MTE.MVC.Roles.Hauler)
{
@:return { category: "Haulers" };
}
else
{
@:return { category: $("#cboCategory").val() };
}
}
function btnReportClick() {
var category;
var cboReport = $("#cboReport").data("kendoDropDownList");
@if(currentUser.Role == MTE.MVC.Roles.Customer)
{
@:category = "Customers";
}
else if(currentUser.Role == MTE.MVC.Roles.Hauler)
{
@:category = "Haulers";
}
else
{
@:category = $("#cboCategory").val();
}
var viewer = $("#reportViewer1").data("telerik_ReportViewer");
var report = $("#cboReport").val();
if (report != null && report != "") {
var reportName = cboReport.dataItem(cboReport.select()).ReportName;
$.ajax({
type: "POST",
url: '@Url.Action("ReportAuditHandler", "Reporting")',
data: {
reportName: reportName
}
});
viewer.reportSource({
report: report,
});
viewer.refreshReport();
}
else {
alert("No report chosen - please choose a report");
}
}
</
script
>