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