2011-12-27 7 views
2

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

Sample text

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

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

Любые мысли о том, как получить разрывы строк для рендеринга правильно?

ответ

5

Благодаря Cory за ответ ... он был близок к тому, что в конце концов сработало:

=Replace(Fields!Header01.Value, Chr(13) ,Chr(10)) 
1

Я не знаю, будет ли это работать, но, возможно, вы можете попробовать заменить ячейку в таблице, в которую вы сбрасываете поле 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) 

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

Смежные вопросы