2016-07-06 41 views
1

如果数据碰巧超过8个字符,我写了一个公式来截断Crystal报表中的数据。例如,123456789变为*23456789数字查看时截断数据;在导出时包含所有数据

现在我需要以某种方式保存导出时的原始数据。因此,Crystal Report Viewer应截断为8个字符,但在导出时,无论大小如何,都应显示完整数据。

看起来唯一的方法是使用额外的导出按钮和参数来切换截断行为 - 不幸的是这是不可能的。我还能如何实现这种行为?

+0

只是要说清楚,你的意思是说你不能添加额外的参数?或者你不能添加额外的按钮? – 4444

+0

不能添加额外的按钮。根据我的研究,似乎是唯一的方法来发现报告是否“导出” – gmoney

回答

0

有一种称为显示的格式公式。

右键单击数据,然后在第一页上格式化对象,您将看到“显示字符串”。

在那里使用您的公式编辑数据的显示。

请注意,这将在水晶报表查看器,pdf导出和非数据excel导出中编辑报表的显示。

CSV和数据只有excel导出将与全部数据一起导出。

1

你的问题归结为“水晶报表是否可以检测到它是否正在导出?” - 据我所知,它不能这样做。

也就是说,您可以通过添加额外的参数来达到相同的效果。在你的情况下,你需要的只是一个布尔值,我们称之为Truncate。然后使用Truncate来确定您的公式是否运行。想要导出时关闭它,当您只想查看时打开它。

If {?Truncate} = 0 Then 
    // Your formula here 
Else 
    // Unformulated field 

如果你走这条路线,你不需要使用完全独立的按钮。只需添加Truncate以及其他参数。

+0

我发现了一个格式公式“显示”。使用我的公式就可以显示*号码,而仅导出数据格式(即仅用于csv,excel数据)将显示完整的数字。谢谢你的提示! – gmoney

相关问题