2011-12-20 56 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