复制并粘贴一个表格(tablix)在SSRS中

32
我有一个表格,里面有一天的数据,现在我需要在底部复制相同的数据但是分为3行展示。我想把主表格复制到底部三次,然后为每个副本使用不同的数据集。
我试过将表格复制并粘贴到tablix下面的Body,但是会出现以下错误:

无法成功粘贴报表生成器。

如何实现复制和粘贴?或者如果不能复制粘贴,是否有其他方法可以完成我的目标?
下面是动画截图:

2
嘿,这是因为VS不能即时重命名带有表达式的文本框,所以你会遇到这个错误,但我还没有找到解决办法,你找到了吗? - Valentyn Vynogradskiy
3
因为动态截图,所以点赞了! - SouravA
4个回答

31

您可能会收到错误消息Report Builder was unable to paste successfully,因为在网格中有一个单元格使用了来自报表的自定义代码。

也就是说,您不能复制带有此自定义代码的文本框:“Code.MyCustomeCode()”
- Report Builder was unable to paste successfully

自 SSRS 2008 以来,这一问题已被报告为漏洞:

当使用 Visual Studio 2008 创建新报表时,我们无法在表格中复制和粘贴多个文本框,并收到弹出式错误,指出“Report Builder was unable to paste successfully”
- Unable to copy and paste textboxes in SSRS reports with Custom Code after 2008 R2 SP2 upgrade

解决方法:

  1. 打开报表的XML视图,可以在Visual Studio中右键单击报表并选择查看代码,也可以在任何文本编辑器中进行编辑。
  2. 注释掉Code.块。通过Ctrl+F在文档中寻找Code.。目标是在暂时注释掉该行代码的同时保留代码。根据您实际的代码情况,这可能会有所不同,但我喜欢做的是:
    • 查找:               =Code.
    • 替换为: ='Code.
  3. 返回到设计视图并复制和粘贴Tablix。可以通过右键单击Tablix控件左上角来完成此操作:
    Copy Tablix
  4. 返回到XML视图并反转查找和替换
    • 查找:                ='Code.
    • 替换为: =Code.

您应该已经准备好了!

注意:在第一步完成后,您不能只复制XML视图中的<tablix>块,因为它会创建具有完全相同的name属性的元素。


20

或者,你可以在代码后面添加注释,像这样:

'custom code comment

那么您可以像平常一样复制和粘贴,无需事先删除您的评论或将您的代码注释掉。


1
哇,你是怎么想到的?非常感谢!! - sasfrog
2
@sasfrog 希望我能为此而自豪,但实际上只是大量复制,有些成功了,有些失败了。花了很多时间试错才弄清楚问题所在。 - Jesse Sierks
这虽然有点老,但是知道这个真的很棒。可以节省很多时间。 - user1612851
你是将这个代码添加到报告的实际代码块之后,还是在使用该代码的表达式中添加? - Jmyster
2
在表达式本身中添加注释。我刚刚尝试了一下,对于一个包含大约10个代码调用的tablix,一旦我在末尾加入了一个虚拟注释,我就能够轻松地复制/粘贴它。真是个好发现! - Brett
谢谢! - LDMdev

0

我遇到了这个问题,并且注意到当报告中有任何代码引用时,这个错误就会发生,而不仅限于复制的字段。


0
在最后一种情况下,如果对你来说什么都不起作用:
  1. 你可以复制和粘贴故事(从Tablix 1到Tablix 2)
  2. 删除新Tablix(Tablix 2)中的所有自定义表达式
  3. 进入每个文本框Tablix 1,复制代码
  4. 进入新的文本框(Tablix 2)并粘贴
我知道这看起来很麻烦,但它可能会有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接