隐藏rdlc报告的打印/导出中的报告项目

时间:2009-07-01 14:38:36

标签: visual-studio-2008 rdlc reportviewer2008

我有一个包含多个表的RDLC,对于每个表,我有一个切换TextBox项,它隐藏了报表中的相应表。它工作得很好,但是,我不希望这些文本框在打印/导出的报告中可见。它们实际上是用于禁用报表中的内容而不是内容本身。有没有办法从仅打印布局和报告的导出版本隐藏这些切换框?

我查看了报告文本框的所有属性以及可用于切换可见性的可用表达式,但我没有找到任何可用于隐藏项目的内容。有一个DataElementOutput属性似乎是我想要的,但我相信它只对XML有用。

3 个答案:

答案 0 :(得分:1)

迟到了,但有一个解决方案。您可以向报表添加参数以获取句柄控件可见性,并在Print事件中更改参数值,然后刷新报表(ReportViewer1.RefreshReport())

答案 1 :(得分:1)

这可以通过简单的可见性切换来实现。您可以使用RenderFormat.IsInteractive变量来确定报表是在报表查看器中显示还是正在导出。 MSDN article解释了这个全局变量,

  

此外,还有一个布尔标志(= Globals!RenderFormat.IsInteractive)   确定呈现扩展插件是否为交互式渲染器,   即不是出口格式。预览(GDI / Winforms)和HTML查看   被认为是互动渲染器。

将要在导出中隐藏的文本框的可见性设置为以下表达式

=NOT(Globals!RenderFormat.IsInteractive)

请参阅下图(由blog.hoegaerden.be提供)以了解分配给RenderFormat.IsInteractive的值 RenderFormat.IsInteractive

答案 2 :(得分:0)

你可以做一些黑客来尝试实现这一点: - 将TextBox上的文本和边框设置为白色,这样它们不可视,但仍可点击 - 使报告大于打印尺寸(纸张尺寸)并将文本框移出打印区域(它们将被打印/导出但不会像您的表一样在同一页面上) - 把你的文本框放在顶部并设计它们看起来像选项卡,以启用不同的视图(我知道,这不是你要求的:-))

但解决此问题的最佳方法是将报告拆分为多个报告 - 每个报告一个报告。

希望这有帮助!

欢呼声,

佩罗

相关问题