在 Visual Studio 2012 Web 应用程序中,我创建了一个 DataSet,Visual Studio 打开设计器,其中包含一个可以使用的 xsd。
我拖入了一个 TableAdapter,TableAdapter 配置向导让我指定了详细信息。
我使用 Query Builder 来构建并确保数据被返回。
我开始创建报告。
我在工作区放置了一个表格,然后打开了数据集属性向导。我选择了刚刚为数据源创建的数据集,然后单击了确定按钮。该表给了我可以使用的 3 列。
我为所有 3 个详细信息区域选择了 DataSet 列并保存了报告。
在 Default.aspx 表单上,我拖入了一个 ReportViewer,它打开了允许我选择报告的智能标记。我选择了我制作的新报告并保存了文件。在我的情况下,我使用了默认值,所以它被称为 Report1.rdlc
我选择运行 Web 应用程序,并希望至少看到显示的报告与我在 DataSet 查看器中看到的数据相同。那没有发生。相反,我看到了这个错误:
尚未指定报表“Report1”的报表定义 对象引用未设置为对象的实例。
我从 StackOverflow 的另一个成员那里发现 VS 没有放入报告路径,所以我这样做并尝试运行报告:
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="1144px">
<LocalReport ReportEmbeddedResource="WebApplicationFirstReports.Report1.rdlc" ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="DataSetWebTableAdapters.DataTable1TableAdapter"></asp:ObjectDataSource>
现在出现了这个错误:
Cannot create a connection to data source 'DataSetWeb'.
The type specified in the TypeName property of ObjectDataSource 'ObjectDataSource1' could not be found.
如果您查看 TypeName 属性,则该名称是由向导放置在那里的。
我希望 VS 会更加用户友好。
请您填写我们需要采取的缺失步骤,以便可以在 ReportViewer 中显示这个简单的报告?
顺便说一句,如果它是被拖到不属于 Web 应用程序的 WinForm 的 ReportViewer 的源,则该报告确实会显示。
谢谢。