2011-05-12 64 views
0

我正嘗試在WPF窗口中顯示水晶報表。下面的代碼適用於導出和打印報告。它只是我無法工作的最後一部分。我已經嘗試了底部的所有3行。該crReportViewer.DataContextcrReportViewer.Content似乎沒有做任何事情,crReportViewer.ReportSource引發錯誤無法設置CrReportViewer的源

「SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer」不包含「ReportSource」,沒有擴展方法「ReportSource」接受第一個參數的定義類型「SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer」的可以找到(是否缺少using指令或程序集引用?)

  rptRebateReport cryRpt = new rptRebateReport(); 
      cryRpt.Load();//error thrown here 
      cryRpt.Refresh(); 
      cryRpt.SetDatabaseLogon("user", "password", "server", "database"); 
      cryRpt.SetParameterValue("@SupplierNo", custNumberParam); 
      cryRpt.SetParameterValue("@DateFrom", startDateParam); 
      cryRpt.SetParameterValue("@DateTo", endDateParam); 

      crReportViewer.DataContext = cryRpt; 
      crReportViewer.ReportSource = cryRpt; 
      crReportViewer.Content = cryRpt; 

此錯誤的任何幫助,將不勝感激。

感謝

回答

0

顯然,爲的CrystalReportViewer WPF有一個名爲 「內容」 的屬性。這個Content屬性實際上是一個StackPanel,帶有3個Children,第三個是這個新的元素「ViewerCore」,它填充了DockPanel上的所有可用空間。

ReportSource屬性是在這個ViewerCore,所以訪問此ViewerCore(只讀)屬性,你需要做到以下幾點:

ViewerCore view = crReportViewer.ViewerCore; 
view.ReportSource = cryRpt; 

現在,它的工作完美。