2010-06-28 75 views
1

我想知道是否有人可以让我知道我做错了以下哪些步骤。如何获取SSRS中的子报表?

  1. 有一个空白的新报告(“空白”)
  2. 有一个现有的报告(“Sub1的”),它有它自己的 数据源和一个参数(INT,命名为“可能性”,与 默认值)。这些在同一个项目和相同的文件夹中。
  3. 将子报表控件拖到新报表中
  4. 在子报表控件属性中,选择“Sub1”作为“将此报表用作子报表”。
  5. 在参数选项卡中单击添加。
  6. 尝试从下拉列表中选择一个名称(它是空的)。
  7. 输入'Likelihood'作为名称。
  8. 输入'1'作为值。
  9. 尝试并预览报告,得到'错误:无法显示子报告'。在预览和'rsErrorExecutingSubreport]执行子报告'SubReport1'时发生错误(实例:0):未将对象引用设置为对象的实例。'在输出(其中“Subreport1”是控制试图使报告“Sub1的”的名义

事情我曾尝试:。

  1. 输入“= 1”作为值
  2. 将相同类型和名称的参数添加到我的主要报告'空白'。在子报告控件属性中将参数选项卡留空。还尝试将'可能性'条目的值设置为等于空白报告上的参数'= Parameters!Likelihood.Value')。
  3. 将名称设置为'@Lelihood'(有关requi的错误响铃名称应符合CLR)。
  4. 将数据源和表等从子报表复制到空白父报表。

报表控件RDL:

<Subreport Name="Subreport1"> 
    <ReportName>Sub1</ReportName> 
    <Parameters> 
     <Parameter Name="Likelihood"> 
     <Value>10</Value> 
     </Parameter> 
    </Parameters> 
    <Top>2cm</Top> 
    <Left>2cm</Left> 
    <Height>7cm</Height> 
    <Width>7cm</Width> 
    <ZIndex>1</ZIndex> 
    <Style> 
     <Border> 
     <Style>None</Style> 
     </Border> 
    </Style> 
    </Subreport> 

我曾经遇到过很多人有类似的问题,但我还没有找到一个解决方案,并希望在正确的方向点。

回答

2

我遇到了ActiveReports6上遇到相同错误的论坛。在这种情况下,用户(DeepSeaDave)“在子报表的DataSourceChanged()事件中放置一个断点,当[他调用]主报表的Run()方法时,DataSourceChanged事件[开启]两次。 ]当数据源[成为]没有...“

在我复制/重命名现有报告(以及子报告)作为新模板。

解决方案:

通过删除数据源(报告特定链接到共享数据源的项目)在我父母的报告,并重新创建它(节能与之间的逼抢),问题离开了!

0

我意识到我在我的子报表上使用了共享数据集,而其他人也遇到了这个问题。我删除了我的子报表中的所有内容,但是直到我删除了它没有错误的情况下呈现的数据集(即,因为我删除了所有内容而如预期的那样是空白页)。考虑到这一点,我玩了一些设置,并拿出下面的“解决方案”。

一个“解决方案”,认为“工作”对我来说是:

  1. 将数据集是不共享,保存,预览(给力的“重新缓存”或其他)。
  2. 在父报告上添加一个等效的非共享数据集。尝试预览。
  3. 撤消原来的子报表更改(我从字面上做了一个源控制撤消)
  4. 确保您仍然可以预览您的子报表。
  5. 删除父报告中的数据集。
  6. 它神奇地工作。

我希望我知道是什么导致它重新开始工作,我完全希望它会再次破裂,但我知道这是我做的,现在它的工作原理可能是它的缓存报告问题?

这不是一个解决方案,但我会非常感兴趣的是,如果它可以帮助其他人,也许它会帮助我们找出问题。