1

大家好,我想调整tablix列的宽度动态。有人可以让我知道如何做到这一点?当我搜索一些论坛有一个建议,我尝试在报告属性的代码中创建报告的实例,并使用实例访问tablix列,但我无法做到这一点。有人可以帮助,如果我确实可以尝试创建报告的实例并访问Tablix并动态调整宽度?SSRS中Tablix中列的动态宽度调整

谢谢, AJ

+0

你是什么意思的动态,你想能够在渲染后手动拖动列边框为EXCEL,或者你想列自动更改基于数据集的大小,或者你想列与在报告呈现之前由用户设置。提到的第一个解决方案是不可能的,其他两个都可能 – Hedinn

+0

感谢您的回复。所以我有一个tablix,有4列占据报告的长度。现在在特定情况下,第三列将被隐藏。所以现在我有3列。第四列将在第二列旁边。现在因为这个,我在右边有额外的空间,因此为了除去这个额外的空间,我想要增加第一列的宽度,这样我的3列的tablix仍然占据页面的整个长度,第一列在报告中加宽。 – jith10

+0

你可以做的一件事就是只保留一列2和3,每个占位符一个,通过表达式控制占位符的内容 – Jayvee

回答

0

选择第一列中,在性能,发现width属性(下尺寸)添加使用相同的条件用于隐藏柱3和增加第一列的宽度的表达式,例如

=iif(parameters!par.value=true,"1,5cm","2,5cm") 

--EDITED -

我很抱歉,我以前的解决方案是假的,我没有检查的话,我很抱歉耽误你的时间,但我有一个可行的解决方案。 创建两个第一列,即两列显示相同的信息,一列是当列3可见时您喜欢的宽度(让我们称之为col1a),另一列是当列3隐藏时适合的宽度(col1b),然后让这两个交替。那么当你隐藏第3列时,你也隐藏col1a并使col1b可见,然后反过来

+0

在2008 R2中,我尝试过使用宽度表达式,文本框和列,并且都用一条错误消息拒绝它。其他版本的SSRS是否允许? –

+0

什么错误信息和你的表达是什么? – Hedinn

+0

我用一个名为'par'的参数创建了一个报告,所以我可以粘贴你的确切表达式。 '属性值无效。 = iif(参数!par.value = true,“1,5cm”,“2,5cm”)不能被解析为一个单位,因为它不包含数值。有效单位字符串的示例为“1pt”和“.5in”。大多数允许表达式的属性都有一个可供您选择的选项,但在2008 R2宽度和高度中不可以。 –

0

没有属性来自动调整列宽。我们可以动态地做到这一点。这是Microsoft工具的限制。

现在,一种解决方案是有一个合理的固定列宽(例如30),并将文本框CanGrow设置为True,以便在需要时将其包装到下一行。另一个解决方案是有两列,并有条件地隐藏其中一个。