在水晶报表中抑制列并删除空白区域
本文关键字:删除 空白 区域 水晶 报表 | 更新日期: 2023-09-27 18:08:30
我正在开发Microsoft Visual Studio 2003。
我正在寻找一种方法来抑制一列,如果它是空的,并取代其他列留下的空白空间。
我到处找,但是找不到2003版的兼容方法。
存在简单的方法吗?谢谢你的帮助。
Crystal Reports没有自动(或简单)的方式来动态移动列。
您可以考虑多个标题和详细信息部分,它们可以近似地实现这一点——只需抑制包含NULL值字段的部分。
右键单击报表对象并选择Format Field。在"格式"界面->"号码"页签中单击"自定义"按钮。在自定义样式界面->数字选项卡上选中"如果为零则抑制"框。
但是我不认为它会在2003版本中存在
右键单击该字段单击格式对象然后点击公共选项卡->在那里你会看到抑制复选框(选中那个复选框)旁边是公式编辑器图标点击下一个写公式
if isnull({FieldName} ) then
true
else
false
无论如何,我遇到这个问题是出于一个完全不同的原因。我在报告中有多个组,其中一个是Document Date。右键单击群组,进入群组选项,选中"保持群组在一起"选项。这意味着当有多个日期时,它们会被移到第二页,并在第一页上留下一大块空白。
空白取决于查询返回的结果集;有时会出现,有时不会,这取决于有多少记录是同一日期的。我花了整整两个小时才弄明白。
小组的Section expert中的"Keep Together"是UNCHECKED,我甚至没有意识到有一个"Keep group Together"选项,直到我偶然发现它。
我发现在Visual Studio 2008中的水晶报表中,如果字段值为null,则很难抑制列名。我写代码({tableName.FiledName})="".
这很简单。只需右键单击列名,选择格式化对象,然后将打开一个窗口。在"常用"页签中,选中"抑制"复选框。点击"抑制"复选框旁边的x-2图标,打开格式公式编辑器,编写代码({tableName.FiledName})=""
,保存退出。如果您犯了错误,编辑器将弹出错误消息。您会注意到列名将变暗或禁用。
遵循步骤:
- 右击
- 点击->对象格式
- 下一步点击通用选项卡->
- 你会看到抑制复选框(选中那个复选框)->
- 旁边是公式编辑器图标,点击下一个写公式
IIF(isnull({datasetName.column_name}), True, False)
它的工作很好,但不能隐藏列的空白空间,我认为这很难