Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WinForm中在Crystal报表上打印整个DataGridView_C#_Winforms_Datagridview_Crystal Reports - Fatal编程技术网

C# 在WinForm中在Crystal报表上打印整个DataGridView

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

我有一个DataGridView,通过代码使用行和列的索引号手动填充(没有数据集或数据源)

e、 g:


现在我想把整个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;
}