2

我想像这样将一些参数传递给 Crystal Report:

ReportDocument.DataDefinition.FormulaFields[parameterName].Text   = 'Text';

除非我想从 ASPX 传递一个多行文本框(包含 \n 和 \r 字符。)

报告查看器报告“缺少此字符串的匹配 '。”。

是否有任何示例/列表/建议如何解析(多行)文本并使其工作?

谢谢,

斯特凡

4

3 回答 3

3

如果你想保留换行符,你应该用 sindre j 描述的一些模糊的东西替换它们。为了使换行符在 Crystal Reports 中正确显示,您需要将 Crystal Report 公式中的晦涩字符替换为 html 换行符。然后将公式字段添加到报告中并右键单击,选择“格式字段”,选择“段落”选项卡,并将“文本解释”更改为“HTML 文本”。您还需要确保在“通用”选项卡上选中“可以增长”属性。请参见下面的示例公式:

"<html>" + Replace({?ParameterField}, "___", "<br>") + "<html/>"

希望这可以帮助。

于 2008-12-08T22:36:39.653 回答
2

在将 \r\n 对传递给报告之前,您必须用一些晦涩的东西替换它,然后制作一个水晶公式,将其转换回报告中的 cr-lf 对。

将 cr-lf 转换为三个下划线的示例

C#

ReportDocument.DataDefinition.FormulaFields[somefield].Text = textWithCrLf.Replace("\r\n","___");

水晶配方:

替换({somefield},“___”,chr(13))

于 2008-12-01T12:02:34.480 回答
0

无论您采用何种解析技术,您都可能希望使用 Parameter 的 DefaultValues 或 CurrentValues 集合。DefaultValues 集合填充可用值的列表。CurrentValues 集合填充选定值的列表。

于 2009-11-18T14:00:00.167 回答