Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 从rdlc报告的打印/导出中隐藏报告项_Visual Studio 2008_Rdlc_Reportviewer2008 - Fatal编程技术网

Visual studio 2008 从rdlc报告的打印/导出中隐藏报告项

Visual studio 2008 从rdlc报告的打印/导出中隐藏报告项,visual-studio-2008,rdlc,reportviewer2008,Visual Studio 2008,Rdlc,Reportviewer2008,我有一个带有多个表的RDLC,对于每个表,我有一个toggle TextBox项,它从报告中隐藏相应的表。它工作得很好,但是,我不希望这些文本框在打印/导出的报告中可见。它们实际上是用于禁用报告中的内容,而不是作为内容本身。是否有办法仅从报表的打印布局和导出版本中隐藏这些切换框 我查看了报表文本框的所有属性以及可用于切换可见性的可用表达式,但没有找到任何可用于隐藏该项的内容。有一个DataElementOutput属性似乎正是我想要的,但我相信它只对XML有用。您可以通过一些技巧来尝试实现这一点

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


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

您可以通过一些技巧来尝试实现这一点,如: -将文本框上的文本和边框设置为白色,使其不可见但仍可单击 -使报告大于打印大小(纸张大小),并将文本框移出打印区域(它们将被打印/导出,但不会像表格一样在同一页上) -将您的文本框放在顶部,并将其设计为支持不同视图的选项卡(我知道,我知道,这不是您要求的:-)

但解决这个问题的最好方法是将您的报表拆分为多个报表,每个表一个报表

希望这有帮助

干杯


虽然时间晚了,但有一个解决办法。您可以向报告中添加一个参数以实现句柄控件可见性,并在打印事件中更改参数值,然后刷新报告(ReportViewer1.RefreshReport())

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

此外,布尔标志(=Globals!RenderFormat.IsInteractive) 确定渲染扩展是否为交互式渲染器, i、 e.不是导出格式。预览(GDI/Winforms)和HTML查看 考虑交互式渲染器

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

=NOT(全局!RenderFormat.IsInteractive)
请参阅下图(由提供),了解指定给RenderFormat.IsInteractive的值