我使用行和列的索引号(无数据集或数据源)通过代码手动填充DataGridView
e.g:
dataGridView1[0, 0].Value = "ABC";
dataGridView1[0, 1].Value = "XYZ";
现在我希望在Crystal Report上打印整个GridView。我如何向Crystal Report提供dataSource,或者我如何实现它?
答案 0 :(得分:0)
您可以通过将datagridview的数据导出到xml来完成此操作。从那以后,您可以将它用作水晶报告的数据源。
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;
}