我正在使用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子句创建数据表,如何在控制器中指定值。
我在网上搜索过,但我没有得到任何帮助。有人可以帮帮我吗?
答案 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)