2012-09-25 69 views

回答

6

你需要一個形式設有的ReportViewer控制,RDLC報告和數據源;可能有幾種實現方法,但是您可以使用「報告管理器」類來顯示每種方法顯示特定的報告(例如:ShowOrdersReport()ShowTimeSheetReport()等) - 或者您可以使用Show()方法定義基類ReportBase類實現在需要時......對於參數的提示什麼工作,這將從根本上歸結爲這樣:

var reportForm = new ReportViewerForm(); // instantiate the form 
// load the report definition into the viewer: 
reportForm.reportViewer1.LocalReport.ReportEmbeddedResource = "Namespace.Report.rdlc"; 

// loading the data works great with a DataSet: 
var data = _reportingDataSet.Tables[0]; 
// create the ReportDataSource with the report data: 
var reportDataSource = new ReportDataSource("rdsReportDataSource", data); 

reportForm.ShowReport(new[] { reportDataSource }); 

在這裏,你會想注入_reportingDataSet依賴;如果您使用參數化存儲過程,則在填充DataSet之前,您需要提示輸入報告參數。

ShowReport()方法將數據源添加到LocalReport.DataSources,然後調用RefreshReport()它顯示您指定的報告。

public void ShowReport(IEnumerable<ReportDataSource> dataSources) 
{ 
    foreach (var dataSource in dataSources) 
     reportViewer1.LocalReport.DataSources.Add(dataSource); 

    reportViewer1.RefreshReport(); 
} 
+0

如果RDLC報告具有參數,則需要傳遞它們:var imageFolder = new ReportParameter(「imageFolder」,「file://」+ ConfigurationManager.AppSettings [「ReportImagesFolder」]); reportForm.reportViewer1.LocalReport.EnableExternalImages = true; reportForm.reportViewer1.LocalReport.SetParameters(new [] {imageFolder});' –

2

如果使用Crystal報表,然後使用該負載報告按一下按鈕 CrystalReportViewer.ReportSource = REPORTNAME

如果您正在使用MS ReportViewer控件則需要兩個重要的步驟,以顯示報告

  1. 指定的報告文件路徑的ReportViewer
  2. 設置數據源

因此,例如名爲reportViewer1 ReportViewer控件需要顯示SomeReport.rdlc文件是必需的,然後下面的代碼(讓我們在點擊按鈕說)

this.reportViewer1.LocalReport.ReportPath = @"Add absolute path of rdlc file"//e.g. @"C:\SomeReport.rdlc" ; 
this.reportViewer1.RefreshReport(); 

這只是一個簡單的例子,爲了簡單起見,我用靜態報告,如果您需要顯示來自數據庫的數據,則只需在調用RefreshReport之前分配數據源屬性即可。例如,

this.reportViewer1.LocalReport.DataSources.Add(MyreportDataSource); 

其中MyreportDataSource的類型是ReportDataSource的對象,就可以很容易地轉換任何ADO.net數據表來ReportDataSource對象。

我希望這麼多的信息會爲你做,如果你想看到你可以在這個位置是指一篇很好的文章更多的細節

http://www.c-sharpcorner.com/UploadFile/robo60/StandaloneRDLCReports11142007183516PM/StandaloneRDLCReports.aspx

+0

不,我正在使用MS ReportViewer控件和rdlc報告。 – ProfK

相關問題