Crystal Reports:传递多行参数值

时间:2008-11-27 22:57:12

标签: c# .net asp.net crystal-reports

我想将一些参数传递给Crystal Report,如下所示:

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

除非我想从ASPX传递多行文本框,否则此工作正常 (包含\ n和\ r \ tchars。)

reportviewer报告“此字符串的匹配'缺失。”。

是否有任何示例/列表/建议如何解析(多行)文本和 让这个工作?

谢谢,

Stefan

3 个答案:

答案 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集合填充所选值的列表。