Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以数字方式查看时截断数据;导出时包含所有数据_C#_Crystal Reports - Fatal编程技术网

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

C# 以数字方式查看时截断数据;导出时包含所有数据,c#,crystal-reports,C#,Crystal Reports,我编写了一个公式,如果Crystal Report的数据恰好超过8个字符,就用*截断数据。例如,123456789变为*23456789 现在我需要在导出时以某种方式保留原始数据。因此Crystal Report Viewer应截断为8个字符,但在导出时,无论大小,都应显示完整数据 似乎唯一的方法是使用额外的导出按钮和参数来切换截断行为-不幸的是,这是不可能的。我还可以如何实现这种行为?您的问题归结为“Crystal Report能否检测到它是否正在被导出?”——据我所知,它无法做到这一点 也就

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

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


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

您的问题归结为“Crystal Report能否检测到它是否正在被导出?”——据我所知,它无法做到这一点

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

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

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

有一个称为display的格式公式

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

使用公式编辑数据的显示

请注意,这将编辑crystal reports viewer、pdf导出和非数据excel导出中报告的显示


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

说清楚一点,你的意思是说你不能添加额外的参数?或者无法添加额外按钮?无法添加额外按钮。根据我的研究,这似乎是发现报告是否“导出”的唯一方法,我找到了“显示”的格式公式。使用我的公式可以显示*号,而仅导出数据格式(即(csv,仅excel数据)将显示完整的数字。谢谢你的提示!