C# 在WinForm中在Crystal报表上打印整个DataGridView
我有一个DataGridView,通过代码使用行和列的索引号手动填充(没有数据集或数据源) e、 g:C# 在WinForm中在Crystal报表上打印整个DataGridView,c#,winforms,datagridview,crystal-reports,C#,Winforms,Datagridview,Crystal Reports,我有一个DataGridView,通过代码使用行和列的索引号手动填充(没有数据集或数据源) e、 g: 现在我想把整个GridView打印在Crystal Report上。如何向Crystal Report提供数据源,或者简单地说如何实现它?您可以通过将datagridview的数据导出为xml来实现这一点。因此,您可以将其用作crystal报表的数据源 private void Transfer() { DataTable dT = GetDataTableFromDGV(dataGridV
现在我想把整个GridView打印在Crystal Report上。如何向Crystal Report提供数据源,或者简单地说如何实现它?您可以通过将datagridview的数据导出为xml来实现这一点。因此,您可以将其用作crystal报表的数据源
private void Transfer()
{
DataTable dT = GetDataTableFromDGV(dataGridView1);
dSet.Tables.Add(dT);
try
{
dSet.AcceptChanges();
dSet.WriteXml(@"C:\MyData.xml", XmlWriteMode.WriteSchema);
}
catch (FileLoadException) { }
ReportDocument cr = new ReportDocument();
string filePath = @"C:\CrystalReportData.rpt";
cr.Load(filePath);
cr.SetDataSource(dSet);
crystalReportViewer1.ReportSource = cr;
}
您可以通过将datagridview的数据导出为xml来实现这一点。因此,您可以将其用作crystal报表的数据源
private void Transfer()
{
DataTable dT = GetDataTableFromDGV(dataGridView1);
dSet.Tables.Add(dT);
try
{
dSet.AcceptChanges();
dSet.WriteXml(@"C:\MyData.xml", XmlWriteMode.WriteSchema);
}
catch (FileLoadException) { }
ReportDocument cr = new ReportDocument();
string filePath = @"C:\CrystalReportData.rpt";
cr.Load(filePath);
cr.SetDataSource(dSet);
crystalReportViewer1.ReportSource = cr;
}