将列添加到 Crystal Report 的数据集 (xsd)

Ada*_*dam 5 dataset crystal-reports

我正在处理一份报告,需要向我的一个数据集和 RPT 文件中添加一列,但是当我尝试修改数据集时,我收到一个错误,指出指定的表不存在。当我查看代码时,看起来最初有一个用于此目的的表,但这种方法已被放弃,现在改为使用附加到报告的代码中的 DataSet 来完成。

我的问题是我需要在报告中添加这个新列,但我似乎无法以某种方式处理数据,因此我无法将我的新字段拖到报告上,因为我找不到所需的部分的 DataSet,因为它不像以前那样存在,现在代码中的 DataSet 取而代之。

任何人都能够为我指明如何进行这项工作的正确方向?

更新: 这大致是我的数据集如何进入水晶报表

private Sub ShowReport()
    Dim dsStatsForPlanned As DataSet = Nothing
    dsStatsForPlanned = DirectCast(Session(CreateSessionKey()), DataSet)
    plannedProductRpt.SetDataSource(dsStatsForPlanned)
End Sub
Run Code Online (Sandbox Code Playgroud)

我在来自 Session 的 DataSet 中添加了我需要的附加字段,但我正在尝试使用 Designer 将此额外字段添加到报告中,并且当我尝试刷新或更改数据源时,Designer 告诉我table 不存在,大概是因为该表仅存在于内存中,并且不直接绑定到 SQL 表。

Ada*_*dam 3

经过几天的挖掘,发现了很多没有帮助的信息,我终于在 2006 年的一篇帖子中找到了我的问题的答案:

http://sstjean.blogspot.com/2006/12/xsdexe-and-msdatasetgenerator-operate.html

我做了什么来解决我的问题:

  • 在文本编辑器中手动编辑 XSD 文件并添加我需要的列。这使得它们在 Visual Studio 中查看时出现在我的 XSD 中。
  • 为 XSD 运行指定的自定义工具以重新生成数据集。就我而言,它是 MSDataSetGenerator。这列在 VS 的“属性”选项卡上,我可以右键单击“解决方案资源管理器”中的 XSD,然后选择“运行自定义工具”。
  • 打开我的 RPT 文件并运行验证数据库。这最终表明数据库已更改并且正在更新报表,我现在在报表设计器中看到了我的新字段。