【发布时间】:2015-09-27 14:59:31
【问题描述】:
我有一个datagridview,我想将数据传递给reportviewer,这样我就可以轻松地打印和导出到pdf/excel。 请问我该怎么做?还是有其他解决方案可以实现我的目标?谢谢! :)
【问题讨论】:
-
您的
DataGridView使用哪种类型的DataSource?
标签: c# excel pdf datagridview reportviewer
我有一个datagridview,我想将数据传递给reportviewer,这样我就可以轻松地打印和导出到pdf/excel。 请问我该怎么做?还是有其他解决方案可以实现我的目标?谢谢! :)
【问题讨论】:
DataGridView 使用哪种类型的DataSource?
标签: c# excel pdf datagridview reportviewer
既然你想把GridView的数据传给ReportViewer,你要做的第一件事就是检索gridview的数据源,如下所示:
BindingSource bs = (BindingSource)GridView1.DataSource;//You should first convert DataSourse into Binding Sourse
DataTable dt = (DataTable) bs.DataSource; //Get GridView data source to Data table
现在你在DataTable dt中获得了你的GridView数据,你可以将ReportViewer绑定到DataTable,如下所示:
ReportViewer ReportViewer1 = new ReportViewer(); //Your ReportViewer Control
ReportDataSource rds = new ReportDataSource("DataSet1_Customers_DataTable1",dt); // ReportViewerDataSource : ReportViewer is to be bind to this DataSource
ReportViewer1.LocalReport.DataSources.Clear(); // Clear the Previous DataSource of ReportViewer
ReportViewer1.LocalReport.DataSources.Add(rds); //bind ReportViewer1 to the new datasource(Which you wish)
ReportViewer1.LocalReport.Refresh(); // Refresh the ReportViewer Control, ReportViewer1 in this case
就是这样,你完成了!
【讨论】: