s-s-rS 子报表 VS2010 子报表数据检索失败

Posted

技术标签:

【中文标题】s-s-rS 子报表 VS2010 子报表数据检索失败【英文标题】:s-s-rS Subreport VS2010 data retrieval failed for the subreport 【发布时间】:2010-11-23 23:08:49 【问题描述】:

我是 s-s-rs 的子报表部分的新手。我已经设置了一些代码,这些代码可以很好地与标准表和矩阵以及 tablix 控件配合使用,但无法加载子报表。我一直都一样

是否有人有任何使用 Visual Studio 2010 的子报表的示例代码?

错误消息“子报表的数据检索失败”。

我的代码看起来像这样,尽管我尝试了很多不同的场景来尝试将数据传递到子报表中。

    private void LoadReport(string reportName)
    
        reportViewer1.Clear();
        //http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/b039e765-3cc8-43ec-ae67-14b9656bc981
        reportViewer1.Reset(); 
        // Set Processing Mode
        reportViewer1.ProcessingMode = ProcessingMode.Local;

        // Set RDL file
        reportViewer1.LocalReport.ReportPath = reportName+".rdlc";

    

    public void LoadReport(IEnumerable products, string reportName, string dataSourceName)
    
        LoadReport(reportName);

        ReportParameter myParam = new ReportParameter("ReportParameter1", st.ToString() + " TO " + et.ToString());
            reportViewer1.LocalReport.SetParameters(new ReportParameter[]  myParam );

        reportViewer1.LocalReport.DataSources.Add(
            new ReportDataSource(dataSourceName, products));


        reportViewer1.LocalReport.DataSources.Add(
            new ReportDataSource(dataSourceName+"Subreport", products));

        // Process and render the report
        reportViewer1.RefreshReport();
    

【问题讨论】:

【参考方案1】:

来自 Jin Chen Microsoft,ModeratorUsers Medals msdn论坛上的答案 http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/5d2aed0b-ea69-4cbb-b3c4-b306a48fbc30

非常感谢!!!

我确实有这段代码,但我在表单设计器中添加了事件,我通过 GUI 事件属性窗口事物添加了该事件

按照你的例子,我移动了这一行

reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport1);

从 form.designer.cs 到您在示例中所做的刷新报告之后,现在它可以工作了!!!

谢谢你真棒的感恩节,哇

reportViewer1.RefreshReport(); reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport1);

   private void reportViewer1_suberport1(object sender, SubreportProcessingEventArgs e)
    

        ReportDataSource r=reportViewer1.LocalReport.DataSources[0];
        e.DataSources.Add(r);

    

【讨论】:

【参考方案2】:

我没有发现将事件处理程序移动到其他位置有助于解决这个特定错误。对于这个错误,修复了什么,你必须确保你的子报表可以独立运行而没有错误。然后,将其与主报告联系起来。就我而言,我的报告在 IDE 中使用的数据集与我在代码中提供的数据集不同。

【讨论】:

以上是关于s-s-rS 子报表 VS2010 子报表数据检索失败的主要内容,如果未能解决你的问题,请参考以下文章

如何让子报表在 s-s-rS 中呈现?

将 s-s-rS 子报表嵌入主报表

VS2010中RDLC报表添加数据集报错啊

s-s-rS 子报表之间的计算

Visual Studio 2010 里面的水晶报表怎么弄?

s-s-rS 2008:子报表中的 Tablix 标题不重复