//My Controller.
public ActionResult ExpectedSales(string[] Quarter, int Year, string[] Divisions)
{
try
{
int myQtr = GFIHelper.GetQuarterNumber(Quarter);
string ProductDivisions = Repository.getMyDivision(@User.Identity.Name, Divisions);
//All ReportViewer parameters are returned with GFISSRSReportViewer.GetReportViewer();
//.....................................................................
ReportViewer MyReportViewer = GFISSRSReportViewer.GetReportViewer();
MyReportViewer.ServerReport.ReportPath = GFIReportsPath.GetSalesManagementReportURL("ExpectedSales");
//.....................................................................
//GFISSRSReportViewer.GetCommonParaList includes only PrintedDate.
//.....................................................................
List<ReportParameter> paramList = GFISSRSReportViewer.GetCommonParaList(GFIHelper.TitleCase(User.Identity.Name));
//.....................................................................
string nextyear = "";
if (myQtr == 1)
nextyear = Convert.ToString(Year + 0);
else
nextyear = Convert.ToString(Year + 1);
//Printedby and report name must be assigned here
//.....................................................................
string rptname = "EXPECTED SALES" + "@" + string.Join("+", Divisions) + "@" + string.Join("+", Quarter) + " : " + Year + (Year == Convert.ToInt32(nextyear) ? "" : " - " + nextyear);
rptname = rptname.Replace("@", Environment.NewLine);
paramList.Add(new ReportParameter("ReportName", rptname, false));
//.....................................................................
paramList.Add(new ReportParameter("YearPara", Convert.ToString(Year), false));
paramList.Add(new ReportParameter("QuarterStringPara", Convert.ToString(myQtr), false));
paramList.Add(new ReportParameter("DivisionsPara", ProductDivisions, false));
MyReportViewer.ServerReport.SetParameters(paramList);
ViewBag.ReportViewer = MyReportViewer;
return PartialView("_ReportLayout");
}
catch (Exception ex)
{
return PartialView(ex.Message + ex.StackTrace);
}
}
//My Layout for Report
@using ReportViewerForMvc;
@using System.Web.UI.WebControls;
<br />
<br />
<div class="myReportViewer md-block" flex="100" flex-gt-sm>
<div class="myReportViewerHead">
<span>Report Viewer</span>
</div>
<md-divider style="background-color:orange;"></md-divider>
@if (ViewBag.ReportViewer != null)
{
@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer, new
{
frameBorder = "0",
Width = Unit.Percentage(100),
Height = 600,
ScrollBars="Yes",
SizeToReportContent=true
})
}
</div>
I have been working on a C# / ASP.NET MVC 5 / AngualrJs project with SQL Server 2008 R2 Reporting Server (.rdlc
). I actually want to bind dataset from inside ASP.NET MVC to the ReportViewer object. But I don't know exactly how to accomplish this.
Can anyone help me with this?
Currently my reports are using datasets from inside the VS Report Server project and working fine, but I just need to pass the dataset from C# code.
Thanks.