Reporting services RDLC报表的动态列宽

Reporting services RDLC报表的动态列宽,reporting-services,rdlc,Reporting Services,Rdlc,假设我有10列要查看报告,我想根据用户将选择的参数值在运行时隐藏其中3列。通过基于上述参数的值设置这3列中每一列的列可见性,可以很容易地做到这一点。到现在为止天气还很好 问题是,当报表显示时(隐藏3列),其余7列将取代隐藏列,因此表的总宽度相应减小。我不希望这种情况发生。i、 我希望桌子的宽度保持不变 也就是说,剩余的列宽应该能够以某种方式扩展,以便表的原始总宽度保持不变 这可能实现吗?列宽不是基于本机表达式的,但您可以实现类似的功能。我认为它是否适用于您将取决于您的特定报告布局以及变通方法如何

假设我有10列要查看报告,我想根据用户将选择的参数值在运行时隐藏其中3列。通过基于上述参数的值设置这3列中每一列的列可见性,可以很容易地做到这一点。到现在为止天气还很好

问题是,当报表显示时(隐藏3列),其余7列将取代隐藏列,因此表的总宽度相应减小。我不希望这种情况发生。i、 我希望桌子的宽度保持不变

也就是说,剩余的列宽应该能够以某种方式扩展,以便表的原始总宽度保持不变


这可能实现吗?

列宽不是基于本机表达式的,但您可以实现类似的功能。我认为它是否适用于您将取决于您的特定报告布局以及变通方法如何影响任何其他元素

总之,一个简单的例子。我已针对具有三个字段的数据集创建了一个报告:

我已将
val2
设置为由布尔参数
HideColumn
控制其可见性。这个很好用

请注意,表中实际上有五列。对于
val1
val3
实际上有两列,我将列中的字段合并在一起

这里的关键是当
HideColumn
设置为true时,我们会显示
val1
val3
的额外列,如果设置为false,我们会隐藏列-基本上与
val2
的可见性相反

SSRS将根据可见的列相应地调整合并字段的宽度:

所以在这种情况下,它是按要求工作的。对于您的示例,您需要考虑这些额外列的大小和所需的宽度,但原则是相同的


这只适用于集合列,即不是矩阵,但希望对您来说足够了。

嗨,伊恩·普雷斯顿,我一直在尝试这样做。你有这方面的代码/报告样本吗?对不起,我不知道你说的“长时间”是什么意思。你能提供更多的信息吗?很长一段时间以来,很多时间已经过去了,请给我发代码或其他方式,你的例子不起作用。你什么意思不起作用?你需要更具体一些。您可以在上面看到,它对我很有用——我甚至展示了创建示例报告的确切步骤。是不是你认为这不适合你的报告?你试着让它工作,但不能?你需要提供更多关于你尝试过的东西和你遇到的具体问题的细节——我不能为你写报告。我建议尝试创建一个如上所述的简单报告,以熟悉该过程。我有25列,15列可能是隐藏或显示。很难管理15列隐藏或显示以及列宽按比例变化,请给我另一种方法,以便我可以轻松地解决此问题。谢谢和问候。