//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 (
.rdl
). 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.
I am simply passing parameters to the remote report server. But In my controller I also want to provide the processed dataset.
Thanks