以编程方式隐藏Crystal Report中的文本/行

6
我有一个Crystal报告,在使用CrystalReportViewer显示给用户之前进行填充。
我有一些静态文本项和线段,我想根据业务逻辑中的条件编程显示和隐藏它们。是否有一种方法可以将这些项分组并作为一组隐藏?
目前,我的另一个选择是拥有两个除这些表面差异外完全相同的报告。
2个回答

5
请不要创建两份分开的报告 :)
在报告设计视图中,您应该能够创建详细部分的子部分(假设您正在谈论详细部分),右键单击详细部分并选择“插入下面的节”。
现在您应该有“详细信息a”和“详细信息b”部分。您可以将文本放在“细节b”部分,并对其应用条件抑制公式。
要有条件地抑制“Details b”部分,请在设计视图中右键单击它,选择“格式化区段...”,单击“抑制”复选框旁边的按钮,并在那里添加您的公式。

我想要添加的内容是报告页眉中的 静态 文本。一旦打印出报告,这些静态项目将被用笔圈出或划掉。 - Charlie Salts
没问题,你可以在报表页眉中做同样的事情。只需将所有可能要隐藏的对象/文本字段放入报表页眉的新子节中,并将业务逻辑添加到条件抑制公式中。 - LittleBobbyTables - Au Revoir
很好。我尝试添加第二个报告页眉部分,但它不允许我这样做,但是我认为我已经成功添加了部分,就像你建议的那样。我以前没有见过这些,但现在我认为我可以随时打开或关闭它们。 - Charlie Salts
CR用户界面并不完全直观 ;) - Charlie Salts
@CharlieSalts - 这简直是轻描淡写了 :D - LittleBobbyTables - Au Revoir
@LittleBobbyTables 在使用Crystal Reports时需要注意一个问题,如果公式中引用了数据源中不存在的元素,它会抛出错误。 - Ryan Gates

0
请按照以下步骤操作:
1. 将所需字段添加到报表画布中。 2. 右键单击该字段。 3. 选择“格式化字段”菜单选项。 4. 在“格式编辑器”对话框的“常规”选项卡中,为“显示字符串”选项按下条件格式按钮[x+2]。 5. 在“公式工作区”中输入以下公式:
 if {Tablename.Fieldname}= True then Totext(CurrentFieldValue)

else Totext((CurrentFieldValue)) + " Outstanding"

6-点击[保存并关闭]按钮

7-点击格式编辑器对话框的确定按钮


这些不是我正在添加的字段 - 只是行和静态文本。所有这些都被放入报表头中。 - Charlie Salts
@CharlieSalts 这是您的答案:https://dev59.com/Ol3Va4cB1Zd3GeqPFfYy - Ali Vojdanian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接