我有一个问题,我想删除水晶报表中的特定文本。我的意思是我不想删除在Visual Studio中使用Crystal Reports的那一列中的整个字符串。
这是图片:
我格式化encumbrances
列并检查删除线,如下图所示:
下一个图像是我输入的脚本,如果字符串包含“ *”,它将删除字符串。这不是我想要的。我想要的是仅删除星号后的字符串。我的意思是星号之后的所有字符串都应该删除,而星号之前的所有字符串都不应删除。
这是使用我当前脚本的结果。如您所见,所有文本都是删除线。我想要的是,“ CANCELLED”文本应仅删除在星号之后,而“ ANOTHER ENCUMBRANCES”文本则应删除在星号之前。
如何解决这个问题?这可能吗?我知道我的脚本是错误的。
答案 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}, "*"))