переносы строк в поле Notes и печатной форме

Добрый день

Возникла сложность в переносах строк из поля Notes при печати отчета в FastReport.

так выглядит в приложении

Изображение удалено.

Так выглядит в БД, если делать выбор в текст

Изображение удалено.

Обратываю в FastReport

Cell24.Text = ((String)Report.GetColumnValue("EPMAccountChk.EPMNotes"))
.Replace("<div>","")
.Replace("</div>","")
.Replace("strong","b")
.Replace("em","i");

Сама ячейка имеет значение свойства TextRenderType = HtmlParagraph

Получаю на выходе

Изображение удалено.

В принципе как в БД, не придраться, Но не так как на экране.

Если отключить мои замены и свойство TextRenderType перевести в Default, то вообще получаю полное соответсвие БД

Изображение удалено.

Если свойство TextRenderType оставить равным HtmlParagraph, и не делать замен, то получим:

Изображение удалено.

Если свойство TextRenderType сделать равным HtmlTags, и не делать замен, то получим:

Изображение удалено.

Вопрос. Как сделать отображение как на экране в приложении? Как избавится от лишних переносов?

Нравится

3 комментария
Лучший ответ

Ура! Нашел. Метод, "если не можешь найти что делать - пробуй все подряд" работает))

Начал заменять подряд все комбинации "\n\r", "\r\n", "\n", "\r". Нашел.  Это не \n\r как ожидалось, а просто \n. после первой и второй стоки \n\n, в конце просто \n. В итоге делаю следующее:

Cell24.Text = ((String)Report.GetColumnValue("EPMAccountChk.EPMNotes"))
	.Replace("&lt;div&gt;","")
	.Replace("&lt;/div&gt;","")
	.Replace("strong","b")
	.Replace("em","i")
	.Replace("\n\n","&lt;br&gt;")
	.Replace("\n","");

и свойство TextRenderType = HtmlParagraph

Вам нужно удалить спец символы это перенос строки и каретку, как правило они обозначаются одним из следующих способов:

\n\r - C#

CHAR(10) и CHAR(13) - SQL

#10#13 - делфи если память не изменяет.



Посмотрите, что у вас в fastreport используется и добавить replace спец символа в ваш код 

Литвинко Павел,

Это первое, что пробовал. Забыл написать об этом.

Ура! Нашел. Метод, "если не можешь найти что делать - пробуй все подряд" работает))

Начал заменять подряд все комбинации "\n\r", "\r\n", "\n", "\r". Нашел.  Это не \n\r как ожидалось, а просто \n. после первой и второй стоки \n\n, в конце просто \n. В итоге делаю следующее:

Cell24.Text = ((String)Report.GetColumnValue("EPMAccountChk.EPMNotes"))
	.Replace("&lt;div&gt;","")
	.Replace("&lt;/div&gt;","")
	.Replace("strong","b")
	.Replace("em","i")
	.Replace("\n\n","&lt;br&gt;")
	.Replace("\n","");

и свойство TextRenderType = HtmlParagraph

Показать все комментарии