我有一个xml数据,我正在使用报告查看器将其转换为PDF。我有嵌套数据,所以我使用子报告。在其中一个案例中,我有两个子报告Sub1和Sub2来自1个主报告,他们正在调用一个公共子报告SubSub1。 SubSub1具有一些常见数据,并且还具有与Sub1和Sub2特别相关的数据的子报告。
<MainReport>
<Sub1>
<SubSub1>
<data>
</data>
</SubSub1>
</Sub1>
<Sub2>
<SubSub1>
<data>
</data>
</SubSub1>
<Sub2>
<MainReport>
我能够进一步了解这一点。这个数据的性质是我有多个MainReports。目前我正在为第一个MainReport获取Sub1和Sub2的正确数据,但后面的数据显示第一个MainReport的数据。调试显示正在向SubSub1的reportdatasource添加正确的数据,但reportviewer显示第一个MainReport(而不是2nd,3rd ...)的数据。为什么reportviewer卡住了以前数据源中的数据?
答案 0 :(得分:0)
通过评论中添加的信息,我猜这个问题出在报表设计人员的可重新编译的.data文件缓存中,特别是在处理许多主要使用的子报表时报告。在使用BIDS2008中的子报表时,我甚至可以看到子报表的实际报表定义已缓存。
以下是一些“刷新”方法,让您的设计师重新走上正轨,从小到干进行排名:
.data
个文件。 如果最后一步不起作用,那么可能还有其他的东西在起作用,因为据我所知,完全将设计师重置为空白。
PS。您想要的(嵌套和重新使用子报告)是完全可能的。这通常只是设计师的喜欢。
答案 1 :(得分:0)
以下是一个示例xml文件:
<MainReport>
<data>
</data>
<A>
<B>
<Subreport>
<data>
</data>
</Subreport>
<data>
</data>
<Subreport>
<data>
</data>
</Subreport>
<Subreport>
<data>
</data>
</Subreport>
<data>
</data>
</B>
</A>
<C>
<B>
<data>
</data>
<Subreport>
<data>
</data>
</Subreport>
<Subreport>
<data>
</data>
</Subreport>
<data>
</data>
</B>
</C>
<data>
</data>
<Subreport>
<data>
</data>
</Subreport>
</MainReport>
B是A和C之间的公共子报告,并且有多个MainReport。对于单个MainReport,A和C也将有多个B。加载此xml后,我将通过子报表处理事件处理程序为每个子报表添加数据。