问题描述: 我在VB.NET / VS 2008中有一个iSeries查询,我需要使用相同参数的2个单独值运行,并在报告中进行A / B比较。换句话说 - 我想看一个报告,其中参数= value1的运行结果在左边,同一个查询的参数= value2在右边。
我最初的想法是在报表上使用2个表,其中每个表将基于DataSet(xsd)中每次运行的结果,但我似乎只能在ReportViewer级别上指定参数,这意味着我有2个相同的表而不是A / B案例。
明显的第二种方法是创建2个单独的报告,每个报告都有自己的参数值,并将它们作为子报告放到主报告上。但是,两个子报表都显示“错误:子报表无法显示”。有没有办法捕捉错误,看看为什么?
我做了一些其他的实验,但我有一个问题,即它不是一个“整洁”的解决方案。
创建此类A / B报告的最佳方式(a.k.a.最佳实践,行业标准,无论您想称之为什么)是什么?我很确定有一个众所周知的方法来完成这项工作,但令我惊讶的是除了MSDN文章的多个副本之外我没有找到任何东西。
答案 0 :(得分:1)
要使用具有相同数据集的两个报表,您需要在代码中添加事件处理程序以挂接SubreportProcessing事件。触发该事件时,将数据源设置为数据集。您需要关注的另一件事是报告本身。如果您使用Remotemode.Local作为reportviewer,则您的报告的.rdlc扩展名将永远不会加载。我保留两份扩展报告。 1为我的报告服务器运行,另一个在我的程序中运行本地。
我希望这有帮助!
此致 威利