动态更改Crystal Reports中XSD文件路径

6
我有一个基于XSD模式文件的水晶报表。在报表定义中,我可以修改数据源位置,具体来说是文件路径。这是我可以将文件路径设置为XSD模式文件在我的计算机上所在位置的地方。
此时,一切都正常工作。问题在于:如果文件路径不存在,则报表会出现运行时错误。这会引起问题,特别是在部署方面,因为我的本地开发环境与测试/生产环境在物理上不同。即文件路径非常不同,我不想依赖于“硬编码”的文件路径。
我的问题是,我想知道如何在代码中动态更改此文件路径或在报表定义中设置它,使其相对于报表所在位置?

你使用的是哪个版本的Crystal? - Rowland Shaw
2个回答

1
最简单的方法是将数据源位置设置为与报表文件位置相同。当您打开“设置数据源位置”对话框时,展开属性加号框,然后右键单击文件路径名称并选择“与报表相同”。

0

使用以下示例代码来动态设置xml或xsd

ReportDocument crReportDoc.DataSourceConnections[0].SetConnection(p_XMLDocument + " " + tdgDoc_XSD, "", null, "");
// crReportDoc.DataSourceConnections[0].SetConnection(p_XMLDocument + " " + tdgDoc_XSD, "", null, "");
NameValuePairs2 logon = new NameValuePairs2();
logon.Set("QE_ServerDescription", p_XMLDocument + " " + tdgDoc_XSD);
logon.Set("Local Schema File", tdgDoc_XSD);
logon.Set("Local XML File", p_XMLDocument);
crReportDoc.DataSourceConnections[0].SetLogonProperties(logon);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接