如果数据表中没有行,则禁止“Crystal Reports”部分

时间:2010-02-18 10:15:00

标签: crystal-reports datatable datarow rowcount

我想要抑制Crystal Report中的一个部分。如果我正在使用的数据集中的特定表中有0行,我需要禁止它。我该怎么做?提供的记录编号专用字段似乎是报告中的内部记录计数,与基础数据表中的行无关。

我正在使用C#创建报告,但是我无法从代码中删除该部分(它不符合项目结构) - 我必须能够从报告本身进行。有关的表肯定是传递给数据集中的报告,但它包含0行。必须有办法在报告中建立这个......

任何人都可以指出我正确的方向吗?

3 个答案:

答案 0 :(得分:6)

在Crystal Reports设计器中,查看节的属性,应该有一个Suppress选项,你可以给它一个公式来返回相应的布尔值。

然后您可以在该公式中使用Count()函数,并且(我相信)您可以将数据集的名称传递给Count()函数以获取该数据集中的行数。

我在3个月前的复杂报告中也做了同样的事情,但是我再也没有办法改变工作了,所以我很抱歉我不能更具体,但是这样可以给你一个起点

快速使用Google - try this

答案 1 :(得分:3)

如果该部分仅包含数据库字段和f.e.没有文本字段,那么您可以使用该部分的“部分导出”(右键部分)中的“抑制空白部分”设置。

作为替代方案,您可以在该部分的“部分导出”中的“抑制”中使用以下公式:

IsNull({table.field})

“{table.field}”是数据集中的一个字段。

希望这有帮助。

答案 2 :(得分:0)

创建一个虚拟组,检查每个页面的标题,在虚拟组的组头中添加标题。