Crystal Reports: передача значений многострочных параметров - PullRequest
2 голосов
/ 28 ноября 2008

Я хочу передать в Crystal Report некоторые параметры, например:

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

Это работает нормально, если я не хочу передать многострочное текстовое поле из ASPX (содержит символы \ n и \ r.)

Reportviewer сообщает, что "Соответствие" для этой строки отсутствует. "

Есть ли пример / список / предложение, как разобрать (многострочный) текст и сделать эту работу?

Спасибо

Стефан

Ответы [ 3 ]

3 голосов
/ 09 декабря 2008

Если вы хотите сохранить разрывы строк, вы должны заменить их чем-то неясным, как описано в sindre j. Для правильного отображения разрывов строк в Crystal Reports необходимо заменить непонятные символы в формуле Crystal Report на разрывы html. Затем добавьте поле формулы в отчет и щелкните правой кнопкой мыши, выберите «Форматировать поле», выберите вкладку «Абзац» и измените «Интерпретация текста» на «Текст HTML». Вы также должны убедиться, что атрибут «Can Grow» отмечен на вкладке «Common». См. Пример формулы ниже:

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

Надеюсь, это поможет.

2 голосов
/ 01 декабря 2008

Необходимо заменить пару \ r \ n чем-то непонятным, прежде чем передавать его в отчет, а затем создать кристаллическую формулу, которая преобразует ее обратно в пару cr-lf в отчете.

Пример с преобразованием cr-lf в три подчеркивания

C #

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

Кристаллическая формула:

Заменить ({somefield}, "___", chr (13))

0 голосов
/ 18 ноября 2009

Независимо от вашей техники синтаксического анализа, вы можете использовать коллекции Parameter DefaultValues ​​или CurrentValues. Коллекция DefaultValues ​​заполняет список доступных значений. Коллекция CurrentValues ​​заполняет список выбранных значений.

...