【发布时间】:2013-10-23 12:11:43
【问题描述】:
我在让 reportviewer 在 wpf 中运行时遇到严重问题,我在 google 上找到的大部分信息要么是相同的教程复制和粘贴,要么是购买 2000 英镑包的建议,这对我没有帮助。
我没有错误,没有任何消息,但报告显示为空白且没有数据。但是我可以在调试器中发现数据存在。我有以下代码:
private void reportViewer_Load(object sender, EventArgs e)
{
if (!_isReportViewLoaded)
{
Microsoft.Reporting.WinForms.ReportDataSource reportDataSource = new Microsoft.Reporting.WinForms.ReportDataSource();
PackingListManager pManager = (PackingListManager)IoC.Get<IManager<PackingItem>>();
reportDataSource.Name = "PackingListDataset";
reportDataSource.Value = pManager.PackingItemList;
this._reportViewer.LocalReport.DataSources.Add(reportDataSource);
this._reportViewer.LocalReport.ReportEmbeddedResource = "ShippingClient.Report1.rdlc";
//_reportViewer.Refresh();
_isReportViewLoaded = true;
_reportViewer.Refresh();
}
数据集名称与报表中设置的内容正确,pManager.PackingItemList 是 IEnumerable 集合,在本例中为 ObservableCollection,加载数据并拾取事件并刷新报表视图加载数据时,我还有一个按钮,按下时会运行刷新,但无论我尝试报告总是显示为没有数据。
我确定我在这里遗漏了一些东西,但是谷歌搜索结果中充斥着来自 Telerik 和 componentone 等控制包的页面,这些页面要考虑的成本远远不够。
所有这一切都在完成,只是为了让我可以在多个页面上打印一个数据网格来维护组,我希望这很标准,但结果却非常复杂。
编辑:
还要注意,reportviewer 似乎在绘制,但是报告本身丢失了,没有标题,没有任何数据,并且所有控件都被禁用,即使我可以清楚地看到 localreport 的数据源有49 个值,我完全被难住了。
【问题讨论】:
标签: c# wpf reporting reportviewer rdlc