1

我需要将我们应用程序的主数据集中的第二个数据表添加到报告中,但运气不佳。

我们在 RDLC 文件中有几个简单的本地报告,每个报告都有一个DataTable基于我们的应用程序数据库中的视图。我需要改进其中一个报告以添加另一个表中的信息。这个另一个表是在DataSet我们用于 .NET 2.0 WinForms 应用程序中的报告的同一个核心中定义的。由于这两个表在同一个数据集中,我是否可以确保两个表都加载到数据集中,然后将报表指向数据集而不是数据表?还有什么?

不用说,我已经玩了一段时间了,但没有得到任何结果。

TIA,马特

4

2 回答 2

1

好的,我得到了这个工作,回想起来,这很容易。我只是不知道使用哪些菜单来让 VS 连接所有内容,以及按什么顺序进行操作。

为我的表单查看 Designer.cs 实际上是我所做的最有帮助的事情。我注意到 ReportViewer 有一个默认的 BindingSource 指向第一个表。最初,我试图给 BindingSource 一个 DataSet 而不是一个 DataTable,但后来我决定尝试制作第二个 BindingSource。

也许有更好的方法,但这基本上是我最终做的:

  1. 使用设计器中的 RDLC,单击报告菜单,然后单击数据源。

  2. 在 Report Data Sources 对话框中,从下拉列表中选择附加 DataTable 并单击 Add to Report。(我还将新数据源重命名为附加数据表的名称;VS 基于完整的命名空间创建了一些巨大的长名称。)确定关闭对话框。

  3. 在包含我的 ReportViewer 控件的表单设计器上,单击 ReportViewer 的智能标记(控件右上角的小箭头),然后选择重新绑定数据源。这使得第二个 BindingSource 出现在 Designer 表面的底部。

  4. 再次单击 ReportViewer 的智能标记,这次选择“选择数据源”以确认 ReportViewer 现在有两个数据源,每个都绑定到BindingSource表单上的一个实例。

  5. 修改了我的表单的 OnLoad 代码以将行加载到第二个 DataTable 中。

  6. 回到 RDLC 文件,添加一个新表并将详细信息单元格设置为第二个 DataTable 中的字段——它成功了!

希望有一天这会为其他人节省几个小时。

于 2010-07-25T05:05:57.347 回答
0

想出一种在 Visual Studio 2010 中使用它的方法。单击 View > ReportData,当看到报告数据时,单击 Datasources,然后单击 add。根据需要的数据集数量多次执行此操作。

现在在reportviewer 的智能标签中,单击选择数据源,这将显示每个数据集。要将数据集与绑定源相关联,您必须单击项目,然后进一步单击直到获得适当的类,这将导致创建绑定源。

如果您有多个 tablix,并且当报表显示在报表查看器上时,您必须在同一个报表中将绑定源与它们相关联,则此解决方法非常有用

于 2012-01-24T15:27:06.697 回答