以数字方式查看时截断数据;导出时包括所有数据

时间:2016-07-06 17:05:31

标签: c# crystal-reports

如果数据恰好超过8个字符,我写了一个公式来用*来截断我的Crystal Report的数据。例如,123456789变为*23456789

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

似乎唯一的方法是使用额外的导出按钮和参数来切换截断行为 - 遗憾的是,这是不可能的。我怎么能实现这种行为?

2 个答案:

答案 0 :(得分:1)

您的问题归结为" Crystal Report能否检测到它是否正在导出?" - 据我所知,它无法做到。

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

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

如果你走这条路,你不应该使用一个完全独立的按钮。只需将Truncate与其他参数一起添加。

答案 1 :(得分:0)

有一种名为display的格式公式。

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

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

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

CSV和仅数据excel导出将与完整数据一起导出。