【问题标题】:SSRS tablix column CanGrow property for width?SSRS tablix 列 CanGrow 属性的宽度?
【发布时间】:2011-12-12 15:45:37
【问题描述】:

我正在开发 SSRS 2008 中的 tablix,并希望我的列自动调整大小(仅宽度)以适应其内容。 CanGrow 只影响身高。是否有我缺少的属性或任何其他方式来操纵列来执行此操作?

【问题讨论】:

标签: reporting-services width ssrs-2008


【解决方案1】:

SHOWKATH VALLI 的解决方案最适合我。 绝对是天才的想法!

我是这样实现的:

  1. 在您需要加宽的列的右侧创建一个附加列
  2. 合并单元格
  3. 单击新列的列可见性。

  4. 隐藏/显示基于计算或在我的选择语句中的值,这是一个宽列。

这是我创建的表达式:=IIF(Fields!Static1Wide.Value=0,True,False)

【讨论】:

  • 这很好用,只要确保将列添加到右侧
  • 这是另一个提出相同解决方案的帖子,带有图片:stackoverflow.com/a/16262756/980945
  • 如果这超出了页面的宽度怎么办?似乎导致我每张表都有额外的空白页。
  • =IIF(Fields!Static1Wide.Value=0,True,False) 与 Fields!Static1Wide.Value=0 相同
【解决方案2】:

这可能不是您要寻找的答案,但必须一次调整 100 多个列的宽度并不好玩,而且这个小技巧确实可以节省时间。

  1. 通过报告向导创建报告并在报告中添加您需要的所有列。这样做创建了您的 Tablix!由于您可以一次选择所有列,因此可以节省大量时间。
  2. 接下来,右键单击“解决方案资源管理器”>“报告”部分下的 .rdl 文件
  3. 选择“查看代码”
  4. 查找 1in xml 标记。默认情况下为 1 英寸宽。您可以将所有列的 1in 替换为 2in!
  5. 最后,运行报表,看看是否需要对不符合 2 英寸概念的列进行任何调整。

试试这个方法。如果您发现任何更好的或改进的地方..请告诉我!

【讨论】:

  • 问题涉及根据数据内容使列增长。您正在描述如何大规模重新定义宽度,但没有为数据提供一种使列变宽的方法。
【解决方案3】:

我通过使用“EMAIL”字段的表达式解决了这个问题,其中包含一个包含电子邮件地址的表格:

 =Replace(Fields!EMAIL.Value, "@", System.Environment.NewLine & "@")

如果您在说 15 个字符后需要它(每 15 个字符后插入 System.Environment.NewLine 代码),您可以执行类似的操作。

【讨论】:

    【解决方案4】:

    如 here 所述,解决此问题的一个简单方法是在您的 tablix 中添加一行并将图表插入相应的列。

    然后将其DynamicWidth 更改为如下表达式=iif(True, "4cm", "2cm") 并将其DynamicHeight 更改为“0cm”。

    【讨论】:

    • 这在宽度上效果很好。我在隐藏工件和保持第 0 行的大小时遇到​​了很多问题
    • 所以只要我进入代码并将高度设置为 0,这在 pdf 版本和在线版本中都可以正常工作。它出现在视觉工作室预览中的最小高度,这有点不妥,但可以忽略。
    【解决方案5】:

    我们可以动态改变宽度。按照以下步骤进行

    步骤1:再添加一列

    step2:将添加的列与原始列合并

    步骤3:根据您的要求为额外列添加列可见性表达式

    你还是没有得到然后看附图

    【讨论】:

    • 能否请您详细说明您的答案,添加更多关于您提供的解决方案的描述?
    • 图片在哪里?
    【解决方案6】:

    更改列宽

    在“设计”视图中,单击 Tablix 数据区域中的任意位置以将其选中。灰色列句柄出现在 Tablix 数据区域的外边框上。

    将鼠标悬停在要展开的列句柄边缘。出现一个双向箭头。 单击以抓住列的边缘并向左或向右移动以调整列宽。

    查看下面的图片:(由于分数低,我无法在此处发布图片) http://i.stack.imgur.com/FvCQF.jpg

    参考:http://technet.microsoft.com/en-us/library/cc645971(v=sql.100).aspx

    【讨论】:

    • 问题是如何在运行时使用不同宽度的内容来做到这一点
    【解决方案7】:

    我自己(客户端)一直在尝试这样做,但没有成功。没有可以自动调整列宽的属性。

    查看这个解决方法:http://blog.sharepointalist.com/2009/05/ssrs-column-width-auto-size.html(我还没有测试过)

    我为客户端报告找到的最佳解决方法是在代码中设置列的宽度或使用多个列并根据字符串长度条件显示/隐藏它们。

    例如,名为 AccNum2 的列:

    report.DetailSection1.ReportObjects.Item("AccNum2").width = 200
    

    有关详细信息和其他想法,请参阅此线程: http://social.msdn.microsoft.com/forums/en-US/sqlreportingservices/thread/9e6043f1-c458-4540-be59-d37b02feab8a/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2018-04-30
      • 1970-01-01
      相关资源
      最近更新 更多