“即时”生成水晶报告

时间:2010-01-08 20:17:06

标签: c# asp.net oracle plsql

我正在做一个Asp.Net应用程序,该应用程序最终将使用用户输入的参数生成“即时”报告。我正在尝试了解如何动态生成Crystal Report报告。

实际上,我已经调用了存储过程并用结果填充了DataTable。但是我的问题还有一部分缺失。如何使用DataTable填充CrystalReportViewer。

我想我必须创建一个.rpt文件并填充它,但这不是无用的代码重复吗?

谢谢

2 个答案:

答案 0 :(得分:0)

这并不是您正在寻找的......但这是我们用于动态生成Crystal Reports的PDF副本的代码段。

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Using rpt As New ReportDocument()
  With rpt
    .Load("/Path/To/RTPFile.rpt", OpenReportMethod.OpenReportByTempCopy)
    .SetDataSource(dataSource)
    .ExportToDisk(ExportFormatType.PortableDocFormat, "/Path/To/Report.pdf")
  End With
  rpt.Close()
End Using

在这种情况下,“数据源”是一个已加载报告数据的XSD数据集。

答案 1 :(得分:0)

水晶报告不需要数据表,但您需要一个rpt文件。您可以使用存储过程作为Crystal报表的数据源,而不是填充数据表。将数据源设置为存储过程的最简单方法是在.rpt文件中。在Crystal Reports下的Visual Studio中 - >数据库 - >数据库专家,然后选择您希望用作数据源的数据库和存储过程。