2016-07-05 64 views
1

我試着用下面的代碼在Datagridview數據導出爲PDF文件:PDF沒有出口的ReportViewer沒有數據 - 這是空

 LocalReport report = new LocalReport(); 

     ReportDataSource rds1 = new ReportDataSource(dt.TableName, dt); 

     report.ReportPath = @"D:\Report1.rdlc"; 
        report.DataSources.Add(rds1); 

     byte[] data = report.Render("PDF"); 

     using (FileStream fs = File.Create(@"D:\output.pdf")) 
     {    
      fs.Write(data,0, data.Length); 
     } 

數據表「dt」有行和列的值。

我沒有用Report1.rdlc身體做任何事情。只是將其添加到項目中。

輸出pdf文件沒有顯示值。這只是一個空白頁面。

我在這裏錯過了什麼?

回答

0

我以前有類似的問題。我解決它通過使用其嵌入式LocalReport動態創建的報表查看器:

using (WinForms.ReportViewer reportViewer = new WinForms.ReportViewer()) { 
    reportViewer.LocalReport.ReportPath = @"D:\Report1.rdlc"; 

    ReportDataSource rds1 = new ReportDataSource(dt.TableName, dt); 
    reportViewer.LocalReport.DataSources.Add(rds1); 

    reportViewer.refreshReport(); 

    byte[] data = reportViewer.LocalReport.Render("PDF"); 

    using (FileStream fs = File.Create(@"D:\output.pdf")) 
    {    
     fs.Write(data,0, data.Length); 
    } 
} 

注:代碼是未經測試,但它或多或少我做了什麼和它的工作非常好。

+0

沒有朋友。它仍然是一樣的。輸出pdf只有1KB,沒有數據。 :( –