水晶报表中同一列和同一行中的删除线/删除线特定文本

时间:2018-08-07 07:25:00

标签: crystal-reports strikethrough

我有一个问题,我想删除水晶报表中的特定文本。我的意思是我不想删除在Visual Studio中使用Crystal Reports的那一列中的整个字符串。

这是图片:

我格式化encumbrances列并检查删除线,如下图所示:

Format Editor

下一个图像是我输入的脚本,如果字符串包含“ *”,它将删除字符串。这不是我想要的。我想要的是仅删除星号后的字符串。我的意思是星号之后的所有字符串都应该删除,而星号之前的所有字符串都不应删除。

Format

这是使用我当前脚本的结果。如您所见,所有文本都是删除线。我想要的是,“ CANCELLED”文本应仅删除在星号之后,而“ ANOTHER ENCUMBRANCES”文本则应删除在星号之前。

result

如何解决这个问题?这可能吗?我知道我的脚本是错误的。

1 个答案:

答案 0 :(得分:0)

由于Crystal Reports在一个公式字段中只能显示一种字体样式,因此您必须创建两个公式并将文本分为两部分。

创建以下公式并将其放在文本对象中。
(在AfterAsterisk公式上打勾Strikeout复选标记。)

星号之前

If InStr({td_table.ENCUMBRANCES}, "*") > 0 Then
    Left({td_table.ENCUMBRANCES}, InStr({td_table.ENCUMBRANCES}, "*")-1)

AfterAsterisk

If InStr({td_table.ENCUMBRANCES}, "*") > 0 Then
    Mid({td_table.ENCUMBRANCES}, InStr({td_table.ENCUMBRANCES}, "*"))