【发布时间】:2011-01-27 14:22:16
【问题描述】:
如何在运行时隐藏水晶报表中的列? 感谢您的任何建议。
【问题讨论】:
标签: c# asp.net sql-server-2005 crystal-reports
如何在运行时隐藏水晶报表中的列? 感谢您的任何建议。
【问题讨论】:
标签: c# asp.net sql-server-2005 crystal-reports
您可以使用参数(可以在运行时设置哪些值)并将它们用于对象的抑制公式。
【讨论】:
选项 1:使用条件抑制逻辑隐藏/显示冗余字段
使用参数字段来驱动所需字段的抑制公式。
如果您想消除字段之间的空格,则需要将字段堆叠在一起并适当地隐藏它们。在您的示例中,第 2 列将包含 field2 和 field3(均被抑制),第 3 列将包含 field2 和 field3(均被抑制)。在您的示例中,抑制逻辑将继续抑制第 2 列中的两个字段,但会在第 2 列中显示 field3(第 2 列中的 field2 仍将被抑制)。
选项 2:使用“占位符”公式字段
可以抑制的每一列数据都是一个公式字段。每个公式字段将使用 SELECT CASE 逻辑来选择要显示的所需字段。 “隐藏”字段只会返回一个空值。将编写您的 SELECT CASE 逻辑以确保从左到右填充值。格式需要在公式中完成,而不是在公式字段本身。
选项 3:使用 SDK 动态更改报告。
使用 CR .Net SDK 或旧的 CRAXDRT API 动态修改列的可见性和位置。
但是,如果您使用此选项,您的部署选项将受到更多限制。
【讨论】:
只是为了分享,我在
找到了一篇很棒且简单的文章http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx
在水晶报表中使用参数将数据库中的数据动态加载到水晶报表中,并根据用户的选择指定报表中应显示的字段(特定表的列)。
丹妮。
【讨论】: