我想像这样将一些参数传递给 Crystal Report:
ReportDocument.DataDefinition.FormulaFields[parameterName].Text = 'Text';
除非我想从 ASPX 传递一个多行文本框(包含 \n 和 \r 字符。)
报告查看器报告“缺少此字符串的匹配 '。”。
是否有任何示例/列表/建议如何解析(多行)文本并使其工作?
谢谢,
斯特凡
我想像这样将一些参数传递给 Crystal Report:
ReportDocument.DataDefinition.FormulaFields[parameterName].Text = 'Text';
除非我想从 ASPX 传递一个多行文本框(包含 \n 和 \r 字符。)
报告查看器报告“缺少此字符串的匹配 '。”。
是否有任何示例/列表/建议如何解析(多行)文本并使其工作?
谢谢,
斯特凡
如果你想保留换行符,你应该用 sindre j 描述的一些模糊的东西替换它们。为了使换行符在 Crystal Reports 中正确显示,您需要将 Crystal Report 公式中的晦涩字符替换为 html 换行符。然后将公式字段添加到报告中并右键单击,选择“格式字段”,选择“段落”选项卡,并将“文本解释”更改为“HTML 文本”。您还需要确保在“通用”选项卡上选中“可以增长”属性。请参见下面的示例公式:
"<html>" + Replace({?ParameterField}, "___", "<br>") + "<html/>"
希望这可以帮助。
在将 \r\n 对传递给报告之前,您必须用一些晦涩的东西替换它,然后制作一个水晶公式,将其转换回报告中的 cr-lf 对。
将 cr-lf 转换为三个下划线的示例
C#
ReportDocument.DataDefinition.FormulaFields[somefield].Text = textWithCrLf.Replace("\r\n","___");
水晶配方:
替换({somefield},“___”,chr(13))
无论您采用何种解析技术,您都可能希望使用 Parameter 的 DefaultValues 或 CurrentValues 集合。DefaultValues 集合填充可用值的列表。CurrentValues 集合填充选定值的列表。