【问题标题】:reportviewer using rdlc in WPF在 WPF 中使用 rdlc 的报表查看器
【发布时间】: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.PackingItemListIEnumerable 集合,在本例中为 ObservableCollection,加载数据并拾取事件并刷新报表视图加载数据时,我还有一个按钮,按下时会运行刷新,但无论我尝试报告总是显示为没有数据。

我确定我在这里遗漏了一些东西,但是谷歌搜索结果中充斥着来自 Telerik 和 componentone 等控制包的页面,这些页面要考虑的成本远远不够。

所有这一切都在完成,只是为了让我可以在多个页面上打印一个数据网格来维护组,我希望这很标准,但结果却非常复杂。

编辑:

还要注意,reportviewer 似乎在绘制,但是报告本身丢失了,没有标题,没有任何数据,并且所有控件都被禁用,即使我可以清楚地看到 localreport 的数据源有49 个值,我完全被难住了。

【问题讨论】:

    标签: c# wpf reporting reportviewer rdlc


    【解决方案1】:
    _reportViewer.RefreshReport();
    

    【讨论】:

      【解决方案2】:

      我已经构建了 .net4 应用程序,并且在 WPF 应用程序下使用内置的 .RDLC 报告功能运行良好。我遇到过这样的情况,报告似乎在没有具体理解原因的情况下被淹没。在某些情况下,我只需要删除数据源/对象架构引用,然后重新添加它们就可以了。

      我所做的另一种方法是创建一个全新的报告,然后将您的数据源添加到您的报告中,然后只做一个简单的 2-3 个字段的柱状报告,然后将您的报告更改为只运行该报告。一旦可行,我会将原始报告的部分复制/粘贴到新报告中,并一次保留工作。也许从报告中的标题开始,忽略细节/页脚,然后添加任何页脚信息,然后是中间细节。您可能会遇到一些区分大小写的架构名称预期问题,从而导致问题,甚至是“隐藏”或其他关于何时显示/隐藏某些输出字段的条件表达式。

      只是为了确认一下,报告在调试模式下视觉上也失败了,而不仅仅是在运行时正确吗?

      【讨论】:

      • 我尝试了你的解决方案,起初它没有任何区别,但是我注意到在加载数据解决了我的问题后,还有另一个名为“refreshReport”的函数使用它,不知道为什么我从未见过该功能之前发布。
      • @user1412240,所以这个 DID 对你有用 :).. 它让你看到了另一个功能 :) 有时开始一条新的道路会让你看到你已经知道的事情。 . 它有时也会发生在我身上。
      猜你喜欢
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多