更改Crystal Report的XML数据源

Ken*_*rey 5 c# xml ado.net crystal-reports

我创建了一个Crystal Report并将其连接到XML文件C:\SomeDir\Data.xml.

在运行时,我可能需要将数据放入C:\SomeOtherDir\Data.xml.

到目前为止我的代码看起来像这样:

ReportDocument report = new ReportDocument();
report.Load("Report.rpt");
PrinterSettings printerSettings = new PrinterSettings();
PageSettings pageSettings = printerSettings.DefaultPageSettings;
report.PrintToPrinter(printerSettings, pageSettings, false);
Run Code Online (Sandbox Code Playgroud)

这将打印带有数据的报告C:\SomeDir\Data.xml.我想要它打印数据C:\SomeOtherDir\Data.xml.

我怎样才能做到这一点?

nos*_*nks 0

在 Java 中,如果我希望在运行时替换一组新数据,我通常会加载该数据(无论是来自 db 或 xml 或其他什么的结果集),然后通过 rpt.Database.Tables.setDataSource 传递将其推入原始数据的“表别名”,以便 CR 知道要覆盖什么。C# 中可能会类似。您可能想温习一下,尝试一下,然后带着更多问题回来。