SSRS 2008 - «Возврат каретки» работает с перебоями - PullRequest
2 голосов
/ 28 декабря 2011

В моей базе данных SQL08-R2 есть небольшая таблица из 20 строк с полем nvarchar (max). В этом поле я написал текст с различными символами CR / LF (см. Изображение ниже):

Sample text

По какой-то причине, когда я создаю файл RDL и помещаю это конкретное поле в «таблицу» в службах Reporting Services, иногда CRF / LF отображаются правильно, а иногда нет. Я искал и устранял неполадки в течение нескольких часов без ответов ...

Весь текст отображается, но разрывы строк работают в одних строках, но не в других.

Есть какие-нибудь мысли о том, как правильно сделать разрывы строк?

Ответы [ 2 ]

5 голосов
/ 04 января 2012

Спасибо Кори за ваш ответ ... это было близко к тому, что наконец сработало:

=Replace(Fields!Header01.Value, Chr(13) ,Chr(10))
1 голос
/ 28 декабря 2011

Я не знаю, будет ли это работать, но, возможно, вы могли бы попробовать заменить ячейку в вашей таблице, в которую вы поместили поле nvarchar (max), на выражение, которое заменяет каждое вхождение новой строки или возврата каретки на CHAR(10) & CHAR(13). Или, может быть, вам нужно сделать это наоборот: замените CHAR(10) на vbLf и CHAR(13) на vbCr:

=Replace(Fields!YourField.Value, VbCrLf, CHAR(10) & CHAR(13))

Или:

=Replace(Replace(Fields!YourField.Value, CHAR(10), VbLf), CHAR(13), VbCr)

Я не могу вспомнить, что работает лучше, но я должен был сделать это раньше, чтобы помочь очистить некоторые пользовательские данные. Поведение может быть «прерывистым» только из-за источника данных в базе данных. Если они копируют и вставляют из различных приложений в разных операционных системах, переводы строки и возврат каретки могут выглядеть иначе или не существовать.

...