【问题标题】:Need to add additional DataTables to RDLC需要向 RDLC 添加额外的 DataTables
【发布时间】:2012-01-24 23:27:06
【问题描述】:

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

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

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

TIA, 马特

【问题讨论】:

    标签: c# reportviewer rdlc visual-studio-2008-sp1


    【解决方案1】:

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

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

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

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

    2. 在“报告数据源”对话框中,从下拉列表中选择附加数据表,然后单击“添加到报告”。 (我还将新数据源重命名为附加数据表的名称;VS 基于完整的命名空间创建了一些巨大的长名称。)确定关闭对话框。

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

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

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

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

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

    【讨论】:

    • 我没有在菜单 Report 下看到任何 Data Sources 项 :-((我在 VS2010 中)。有什么想法吗?
    • 同样的问题 - VS 2010,报告菜单下没有数据源。帮助任何人?
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 2016-09-02
      • 1970-01-01
      相关资源
      最近更新 更多