2011-12-20 54 views
0

我已经用VS 2008创建了许多报表。现在从VS 2010开始为新的需求开始。请注意我正在使用.rdlc报告无法选择子报表 - .rdlc - VS 2010

  • 我可以将子报表控件添加到报表中,但无法选择可用报表。没有浏览按钮或下拉菜单来选择可用的.rdlc报告。

  • 当我手动输入报告名称时,reportviewer不显示任何子报告。我在“输出”窗口上也看不到任何错误消息。

如何在VS 2010中使用子报表?我错过了什么?任何帮助表示赞赏。

我将SQL 2005/2008(报表服务安装),VS 2008,VS 2010安装在同一台PC上。

+0

所有的报告都在同一个解决方案中吗?您是否尝试再次构建解决方案文件? – SouravA 2015-01-16 14:11:20

回答

0

首先选择工具箱子报告,并提出要show.See图像波纹管 enter image description here
在子报表属性现在,右键点击并输入您的子报告名称。 enter image description here

现在你已经从你cs文件创建一个子报告,甚至处理,你加载你的报告那样:

public Ctor() 
{ 
    string path = HttpContext.Current.Server.MapPath("Your Report path"); 
    ReportViewer1.Reset(); //important 
    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; 
    ReportViewer1.LocalReport.SubreportProcessing += Process_Subreport; 
    LocalReport objReport = ReportViewer1.LocalReport; 
    objReport.ReportPath = path; 

    // Add Parameter If you need 
    List<ReportParameter> parameters = new List<ReportParameter>(); 
    parameters.Add(new ReportParameter("Name", Value)); 
    ReportViewer1.LocalReport.SetParameters(parameters); 
    ReportViewer1.ShowParameterPrompts = false; 
    ReportViewer1.ShowPromptAreaButton = false; 
    ReportViewer1.LocalReport.Refresh(); 

    //Add Datasourdce 
    ReportDataSource reportDataSource = new ReportDataSource(); 
    reportDataSource.Name = "Datasource Name Used due to report design"; 
    reportDataSource.Value = DataSourceValue; 
    objReport.DataSources.Add(reportDataSource); 
    objReport.Refresh(); 
} 

立即创建,甚至处理方法加载子报告的详细信息。

private void Process_Subreport(object sender, SubreportProcessingEventArgs e) 
{ 
    //You can get parameter from main report 
    int paramname = int.Parse(e.Parameters[0].Values[0].ToString()); 
    //You can also add parameter in sub report if you need like main report 

    //Now add sub report data source  
    e.DataSources.Add(new ReportDataSource("DataSource Name",DataSourceValue))); 
} 

我认为它会适用于你。谢谢。

+0

heloo,我需要帮助,我遵循上面的代码,但传递参数时出现错误。 “子报告无法显示” – Ajith 2017-08-04 12:34:17