Asp.net 水晶报告隐藏列 我有一个有几个列的水晶报表。我需要隐藏一个列并基于一个条件删除空白。目前我所做的是,我拖拽并删除了文本框中的字段,并勾选了“禁止嵌入的空白字段行”和“可以增长”。它将隐藏细节字段并删除空白,但标题仍然可见。

Asp.net 水晶报告隐藏列 我有一个有几个列的水晶报表。我需要隐藏一个列并基于一个条件删除空白。目前我所做的是,我拖拽并删除了文本框中的字段,并勾选了“禁止嵌入的空白字段行”和“可以增长”。它将隐藏细节字段并删除空白,但标题仍然可见。,asp.net,crystal-reports,Asp.net,Crystal Reports,隐藏列的条件是如果字段数据为null或空请尝试为有条件显示的列标题创建公式。比如: SomeFieldLabel: If DistinctCount({@SomeField}) > 0 Then "The Column Label" 或 如果不为null({@SomeField})和{@SomeField}“”,则“列标签” 然后用{@SomeFieldLabel}和所有其他标签创建一个文本对象,并选择抑制嵌入的空白字段行 您可能需要进行实验,以找到正确的条件–只要字段出现在您的详细

隐藏列的条件是如果字段数据为null或空

请尝试为有条件显示的列标题创建公式。比如:

SomeFieldLabel:

If DistinctCount({@SomeField}) > 0 Then "The Column Label"

如果不为null({@SomeField})和{@SomeField}“”,则“列标签”
然后用{@SomeFieldLabel}和所有其他标签创建一个文本对象,并选择抑制嵌入的空白字段行


您可能需要进行实验,以找到正确的条件–只要字段出现在您的详细记录中,该条件就会计算为True,其余时间则为False。

不确定我是否理解。。。报表是否只返回一行?如果所有行都不应该显示该列,那么甚至不要添加该列。但是,如果100行中有一行具有该列,则需要标题。对吗?不是一行。我的意思是在一列中,如果任何一行不包含数据,那么该列应该被隐藏,并且该列的空间应该被删除。我理解这一部分,但假设您有两行。一行列应该被删除,另一行列不应该被删除。你能提供一个屏幕截图吗?
If Not IsNull({@SomeField}) And {@SomeField} <> "" Then "The Column Label"