点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
当前使用VS 2017修改现有的Crystal报告。 报表使用表和视图从MS SQL数据库检索数据。
我们必须更改某些列以使用CLE加密。 为了使报表检索加密的数据,必须首先打开对称密钥。
我们通过在报表中添加Command对象来实现此目的,该对象调用命令以打开键。
在生成报告时执行命令时,一切都会按预期进行。
我们遇到的问题是,在VS中预览报表时,命令并不总是执行; 某种缓存正在发生。 同样,当在C#应用程序中通过Crystal Report Viewer显示RPT时,该命令根本不执行。 从CV应用程序中的CRV使其运行的关键之一。
任何人都可以提供一些指导,以帮助我们了解如何从CRV中执行命令吗?
提前谢谢!
问题在于,除非您在报表上实际使用了它的数据,否则Crystal通常不会连接到表或命令。 因此,我怀疑该命令在大多数情况下甚至都没有运行。 为了确保命令能够运行,我将在命令的GetDate()上添加一个选择,然后在报表标题中使用日期-即使您必须将字体设置为白色以使其融入背景中。 p>
-Dell
这解决了问题。
对于返回值,我们将其添加到未使用的报告的"报告标题"部分,并将其标记为隐藏。
从VS IDE内以及通过C#应用程序对其进行测试时,我们注意到一种变化。
在C#应用程序中,该命令总是在最初显示时或单击CRV工具栏上的"刷新"按钮时执行; 不管CRV的重用参数属性是true还是false。
在VS IDE中,它使用了不同的CRV控件。 最初显示时,它总是调用命令。 但是,单击工具栏的"刷新"按钮时,仅在选择提示输入新参数时才调用该命令。 选择重用以前的参数时,不会。
对与错,只是想分享这些信息。
使用VS IDE的怪癖对我们来说不一定是一个问题,因为报告不依赖于从命令返回的数据。 对于其他人来说,这可能是一个问题。 例如,如果报表确实需要返回的数据,即使输入参数没有更改,则可能是从其馈送的数据。 如果不调用该命令,则刷新后,报表将只显示相同的信息。
无论如何,它可以在C#应用程序中可靠地工作,而这正是我们所需要的。
谢谢,戴尔!
VS IDE中内置的嵌入式CR设计器是CR Basic,它没有完整的功能,并且通常不使用与运行应用程序时相同的工作流程 预览报告。
实际结果是在查看器中而不是在IDE中运行报告。
一周热门 更多>