我有一个简单的.RDLC报告,它没有显示在它的ASPX页面上。我的ASPX代码是:
<rsweb:ReportViewer ID="rvReport" runat="server" Height="500px" Width="100%"
Font-Names="Verdana" Font-Size="8pt" InteractiveDeviceInfos="(Collection)"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="reports\rptAttendee.rdlc">
</LocalReport>
</rsweb:ReportViewer>
在.cs文件中,我从我的Entity Framework上下文创建一个数据集,并将其转换为ReportData Source,如下所示:
rvReport.LocalReport.DataSources.Clear();
ReportDataSource dataSource = new ReportDataSource("dsAttendees", attendees);
rvReport.LocalReport.DataSources.Add(dataSource);
rvReport.LocalReport.Refresh();
我已确认数据源是使用数据创建的,报表视图在添加数据源后会注册该数据源。
在RDLC文件上,我创建了一个具有相同名称(dsAttendees)和完全相同列/类型的空数据源。当我运行Web应用程序时,ASPX页面不显示该报告。检查页面,我看到报告查看器控件,但它是空的;甚至不会出现非数据绑定文本和工具栏。
我怀疑问题是RDLC文件没有获取数据源。我缺少一步吗?
答案 0 :(得分:1)
我不确定,但可能你应该补充一下:
rvReport.Reset();
之后
rvReport.LocalReport.DataSources.Clear();
答案 1 :(得分:0)
我最终使用网格代替并为网格编写导出,因为客户主要只是希望能够导出到Excel。