带有ReportViewerForMvc的MVC5

时间:2015-08-13 11:13:28

标签: asp.net-mvc reportviewer

我正在使用ReportViewerForMVC设计MVC应用程序。这是我的控制器代码:

ReportViewer rp = new ReportViewer();
rp.ProcessingMode = ProcessingMode.Local;
rp.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath)
                + @"Report/sampleFile.rdlc";
ViewBag.ReportViewer = rp;

这是我的观点:

@using ReportViewerForMvc

@Html.ReportViewer(ViewBag.ReportViewerMicrosoft.Reporting.WebForms.ReportViewer)

iframe显示但是我收到此消息:

  

尚未为数据源提供数据源实例' DataSet1'。

作为报告部分的输出。我以为我在设计.rdlc文件时指定了我的数据源。 同样,我想询问我是否使用带有参数的where子句创建数据表,如何在控制器中指定值。

我在网上搜索过,但我没有得到任何帮助。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

报表查看器没有DataSource。如果你喜欢像我一样使用设计师视图,你可以先创建一个数据集并添加一个dataAdapter,它会自动添加一个dataTable。 dataSource可以像这样设置:

DataSet1 ds = new DataSet1();
TableAdapter1 ta = new TableAdapter1();
ta.Fill(ds.Table[0]);

ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSet";
rds.Value = ds.Table[0];
rp.LocalReport.DataSources.Clear();
rp.LocalReport.DataSources.Add(rds);
rp.LocalReport.Refresh();

就这么简单......

答案 1 :(得分:0)

在视图中更改以下内容

@Html.ReportViewer(ViewBag.ReportViewerMicrosoft.Reporting.WebForms.ReportViewer)

@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer)