在运行时隐藏水晶报表中的列?

时间:2010-03-15 08:29:58

标签: c# asp.net sql-server-2005 crystal-reports

如何在运行时隐藏水晶报表中的列? 谢谢你的任何建议。

3 个答案:

答案 0 :(得分:2)

选项1:使用条件抑制逻辑隐藏/显示冗余字段

使用参数字段来驱动所需字段的抑制公式。

如果要消除字段之间的空格,则需要将字段堆叠在一起并适当地抑制它们。在您的示例中,第2列将包含field2和field3(均被抑制),第3列将包含field2和field3(均被抑制)。在您的示例中,抑制逻辑将继续抑制第2列中的两个字段,但会在第2列中显示field3(第2列中的field2仍将被抑制)。

选项2:使用“占位符”公式字段

可以抑制的每列数据都是公式字段。每个公式字段都将使用SELECT CASE逻辑来选择要显示的所需字段。 “隐藏”字段只会返回一个空值。将编写SELECT CASE逻辑以确保从左到右填充值。格式化需要在 in 公式中完成,而不是在公式字段本身上完成。

选项3:使用SDK动态更改报告。

使用CR .Net SDK或旧的CRAXDRT API动态修改列的可见性和定位。

但是,如果使用此选项,则部署选项将受到更多限制。

答案 1 :(得分:1)

您可以使用参数(可以在运行时设置哪些值)并在对象的抑制公式上使用它们。

答案 2 :(得分:0)

仅仅是为了分享我在

找到了一篇非常简单的文章

http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx

使用crystal report中的参数将数据从数据库动态加载到Crystal Report中,并根据用户选择显示指定应在repor中显示哪个字段(特定表的列)。

达尼。