【发布时间】:2013-03-04 07:16:43
【问题描述】:
我在使用 ReportViewer 时遇到了一些问题。基本上代码如下:
public void Display(object dataSource, ReportViewer viewer)
{
currentDs = dataSource as MyTypes;
if (currentDs != null)
{
var param = new LinkedList<ReportParameter>();
param.AddFirst(new ReportParameter("Title", "Title"));
viewer.ProcessingMode = ProcessingMode.Local;
viewer.LocalReport.ReportEmbeddedResource = ReportName;
viewer.LocalReport.EnableExternalImages = true;
viewer.LocalReport.DataSources.Add(new ReportDataSource(DataSourceName + "_Header", currentDs.Header));
viewer.LocalReport.DataSources.Add(new ReportDataSource(DataSourceName + "_Footer", currentDs.Footer));
viewer.LocalReport.DataSources.Add(new ReportDataSource(DataSourceName + "_Lines", currentDs.Lines));
viewer.LocalReport.SetParameters(param);
viewer.RefreshReport();
}
}
问题是有时它会生成 rdlc 报告,但有时它只会挂起应用程序。具体来说,它停留在 viewer.RefreshReport();永远。
在rdlc文件上正确设置了相应的参数和数据集。
有没有人遇到过类似的行为?
提前致谢。
【问题讨论】:
-
使用相同参数时是否随机出现?
-
是的。有时挂起,而另一些则不使用相同的数据集。
-
我知道你的数据集是否包含相同的值?
-
您是否尝试过在其中一个挂起期间附加调试器并暂停执行?如果是这样,您可以为运行此调用的线程添加调用堆栈吗?
-
@WiiMaxx,我正在与 Maxi 合作,它似乎是数据不变的:针对未更改的静态数据运行具有相同参数的相同报告,有时应用程序会挂起,有时不会。一切都指向某种难以捉摸的线程问题,可能与 WPF 有关。我们以前从未在直接的 winforms 应用程序中看到过这种情况。
标签: wpf report reporting reportviewer rdlc