【问题标题】:Is there a quick way to set a visiblity expression for many rows in a SQL Server Report Services RDLC report?有没有一种快速的方法来为 SQL Server Report Services RDLC 报告中的许多行设置可见性表达式?
【发布时间】:2016-08-14 15:36:20
【问题描述】:

我有一个包含许多表格(tablix?)的报告,我需要在其中隐藏第二列中没有值的所有行:

我可以通过右键单击每一行来做到这一点

并为行的可见性设置一个表达式,该表达式取决于出现在第二列字段中的值,例如

=IIF((Fields!MyField4.Value = ""), True, False)

但问题是我的报告中有超过 1000 行这样的行!考虑到每个字段都有一个特定的名称,这将需要很长时间!我可以修改 Xml,但这也需要一段时间。我目前正在编写一些使用 XDocument 的代码来实现这一点。

有没有任何人能想到的更快的方法?也许来自设计师的东西,或者一些 VB 代码?互联网上的任何地方似乎都建议一次右键单击一行。

【问题讨论】:

  • 为什么不从数据集中过滤这些值?
  • 有没有办法在多个值上快速执行此操作?谷歌搜索只是让我找到了我以前见过的所有可见性问题。

标签: visual-studio reporting-services ssrs-2008 rdlc


【解决方案1】:

在设计器中,选择所有行(使用 Shift 或 Ctrl 键),然后使用 VS/BIDS 中的“属性”窗格一次更改所有行。那里有一个 Hidden 属性,您可以从其中的下拉列表中选择 Expression。从那里,您可以将 IIF 应用于所有行。

当然,我假设所有可见性都基于每一行的完全相同的表达式。如果不是,那么答案是否定的。除非,你想开始在 RDL XML 中做一些复制/粘贴的东西,我不推荐这样做。

【讨论】:

  • 是的,我正在采用 XML 方法。真的没那么糟糕,你只需要做备份。
  • 有趣的是,我会假设 XML 路由会很痛苦。是否有机会更改报告的设计以使其不再成为问题?
  • 好吧,我确实经历了很多痛苦,但我主要了解发生了什么,而不是说,修改 windows 窗体的 Designer.cs 文件,它对我来说似乎每次都搞砸了。
  • 要回答您的其他问题,不,我仍然没有找到解决问题的方法。文本框单元格会自动分配名称,Textbox1、Textbox2 等。因此这意味着每行的每个表达式都必须不同。
  • 如果您认为这是该问题的可行答案,请将其发布。我相信有人会觉得它很有用。
猜你喜欢
  • 2010-11-29
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多