我正在编写一份报告,需要将一列添加到我的一个数据集和 RPT 文件中,但是当我尝试修改数据集时,收到错误消息,指出指定的表不存在。当我查看代码时,看起来最初有一个表用于此目的,但这种方法已被放弃,现在是通过附加到报告的代码中的数据集来完成的。
我的问题是,我需要在报告中添加这个新列,但我似乎无法以某种方式处理数据,因此我可以将新字段拖到报告上,因为我找不到所需的部分DataSet 的位置,因为它不像以前那样存在,代码中的 DataSet 现在取代了它的位置。
有人能够为我指明如何开展这项工作的正确方向吗?
UPDATE:这大致就是我的数据集进入水晶报表的方式
private Sub ShowReport()
Dim dsStatsForPlanned As DataSet = Nothing
dsStatsForPlanned = DirectCast(Session(CreateSessionKey()), DataSet)
plannedProductRpt.SetDataSource(dsStatsForPlanned)
End Sub
我已在来自会话的数据集中添加了所需的附加字段,但我尝试使用设计器将此额外字段添加到报告中,当我尝试刷新或更改数据源时,设计器告诉我表不存在,大概是因为该表仅存在于内存中,并且不直接绑定回 SQL 表。
经过几天的挖掘,发现了很多没有帮助的信息,我终于在 2006 年的一篇帖子中找到了我的问题的答案:
http://sstjean.blogspot.com/2006/12/xsdexe-and-msdatasetgenerator-operate.html
我做了什么来解决我的问题:
- 在文本编辑器中手动编辑 XSD 文件并添加我需要的列。这使得它们在 Visual Studio 中查看时出现在我的 XSD 中。
- 为 XSD 运行指定的自定义工具以重新生成数据集。就我而言,它是 MSDataSetGenerator。这列在 VS 的“属性”选项卡上,我可以右键单击“解决方案资源管理器”中的 XSD,然后选择“运行自定义工具”。
- 打开我的 RPT 文件并运行验证数据库。这finally表明数据库已更改并且正在更新报告,我现在在报告设计器中看到了我的新字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)