日期:2014-05-18  浏览次数:21302 次

winform.reportviewer无法显示子报表的问题------100分
各位前辈:
  小弟我用vs2008的reportviewer控件做报表,但遇到一个"无法显示子报表"的问题。
从昨晚到现在都还没有搞定,心情很急,也没有头绪,觉得很无助。

现在向社会各界求救,望各位有这方面经验的前辈们不吝赐教。

在线等。

------解决方案--------------------
同上!
------解决方案--------------------
我好笨啊,都看不懂,先回复一下好了,慢慢学习,帮顶,楼下的回答吧,接分


PS: 
我的目标是 ---->





















^_^

------解决方案--------------------
我也出现这样的问题,无论怎么设置都显示:错误,无法显示子报表。
------解决方案--------------------
只用过VS2005版的
需要处理SubreportProcessing事件
C# code

            reportViewer1.ProcessingMode = ProcessingMode.Local;
            reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);

            LocalReport localReport = reportViewer1.LocalReport;
            localReport.ReportEmbeddedResource = "AxAssistant.Forms.PickListJournal.rdlc";

            ReportDataSource rdsPickListJournal = new ReportDataSource();
            rdsPickListJournal.Name = "dsPickList_ProdJournal";
            rdsPickListJournal.Value = dsPickList.Tables["ProdJournal"];
            localReport.DataSources.Add(rdsPickListJournal);

            ReportDataSource rdsJournalBOM = new ReportDataSource();
            rdsJournalBOM.Name = "dsPickList_JournalBOM";
            rdsJournalBOM.Value = dsPickList.Tables["JournalBOM"];
            localReport.DataSources.Add(rdsJournalBOM);

            ReportDataSource rdsInvent = new ReportDataSource();
            rdsInvent.Name = "dsPickList_Invent";
            rdsInvent.Value = dsPickList.Tables["Invent"];
            localReport.DataSources.Add(rdsInvent);

            reportViewer1.RefreshReport();


        void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
        {
            ReportDataSource rdsJournalBOM = new ReportDataSource();
            rdsJournalBOM.Name = "dsPickList_JournalBOM";
            rdsJournalBOM.Value = dsPickList.Tables["JournalBOM"];
            e.DataSources.Add(rdsJournalBOM);

            ReportDataSource rdsInvent = new ReportDataSource();
            rdsInvent.Name = "dsPickList_Invent";
            rdsInvent.Value = dsPickList.Tables["Invent"];
            e.DataSources.Add(rdsInvent);
        }

------解决方案--------------------
截图出来吧


子报表 点右键->"更改子报表链接..."
------解决方案--------------------
rdlc报表有个好处就是子报表可以嵌套,而水晶报表却不行
------解决方案--------------------
我按7楼说的做了,还是不行。子报表的位置显示:子报表无法显示。
还有如果主表中放多个子报表应该怎么设置Datasource
------解决方案--------------------
加上这一加:
reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
还不行的话,我就不清楚了。

我的嵌套子报表是指子报表中再包括一个子报表,上面的代码就是这样的一个实例。
------解决方案--------------------
探讨
我按7楼说的做了,还是不行。子报表的位置显示:子报表无法显示。
还有如果主表中放多个子报表应该怎么设置Datasource

------解决方案--------------------
我也是如11楼的,可是也还是无法显示子报表,同楼主说的一样,郁闷