Страница 1 из 1

RichText и Параметры взаимодействия

Добавлено: 29 мар 2018, 18:03
Денис Суворов
Здравствуйте. Есть 2 вопроса:
1) Есть ли возможность добавить больше 5 параметров?
Screenshot_6.png
Screenshot_6.png (18.74 КБ) 3553 просмотра
2) Есть ли возможность в RichText использовать функцию Replace(на текущий момент не отрабатывает)?
Screenshot_7.png
Screenshot_7.png (18.92 КБ) 3553 просмотра

Re: RichText и Параметры взаимодействия

Добавлено: 30 мар 2018, 11:40
HighAley
Здравствуйте.

1. К сожалению, добавить больше 5 параметров нельзя.

2. Попробуйте включить свойство Full Convert Expression. Оно должно решить данную проблему. По умолчанию оно отключено для ускорения обработки Rich Text.

Спасибо.

Re: RichText и Параметры взаимодействия

Добавлено: 30 мар 2018, 11:45
Денис Суворов
Здравствуйте Алексей, по поводу 1 пункта понял – спасибо, ожидаю ответа, а по поводу 2 пункта есть нюанс, если включить данную галочку, то тогда пропадет курсив и перечеркивание текста, данный вопрос рассматривался в этом посте viewtopic.php?f=8&t=10512

Re: RichText и Параметры взаимодействия

Добавлено: 30 мар 2018, 16:22
Ivan
Здравствуйте.

Обсуждение проблемы с RichText лучше было бы продолжить в начальной ветке, чтобы был виден весь ход решения проблемы.
Это позволит избежать повторных советов, которые уже возможно обсуждались в той ветке.

Теперь несколько слов о редакторе компонента RichText.
Он позволяет редактировать текст, но при этом вставляет в текст разнообразные управляющие команды, например переключение кодировки текста.
Поэтому если вам надо вставить в RichText какое-нибудь выражение, лучше сначала набрать его в простом текстовом редакторе, например Notepad++, а затем вставить его целиком в редакторе RichText.
При этом, если выражение будет содержать только английский текст - всё пройдет хорошо.
Но если в нём будут например русские буквы - редактор вставить свои управляющие коды прямо в выражение, и с большой вероятностью отчёт перестанет компилироваться вообще.

В вашем случае, вы вводите выражение Replace(" район", ""), но после редактора оно превращается в Replace("\\f0\\lang1049 \\\'f0\\\'e0\\\'e9\\\'ee\\\'ed\\f1\\lang1033 ", "").
С точки зрения RichText отображается то же самое. Но команда замены уже работать естественно не будет.

Как вариант решения в данном случае, заведите переменную vvv1 типа string с содержимым " район", и используйте её в выражении.
Русских символов в выражении уже не будет, и редактор вставит выражение без изменения.

Код: Выделить всё

{Stimulsoft.Report.Export.StiExportUtils.CorrectEncoding("\ansicpg1251 "+((string)this["Rayon"]).Replace(vvv1, ""))}
Спасибо.

Re: RichText и Параметры взаимодействия

Добавлено: 30 мар 2018, 16:38
Денис Суворов
Хорошо, в следующий раз буду придерживаться первоначального поста.
Добавил переменную _rayon
Screenshot_11.png
Screenshot_11.png (9.97 КБ) 3533 просмотра
дальше в RichText написал Replace(_rayon,"")
Screenshot_12.png
Screenshot_12.png (4.99 КБ) 3533 просмотра
и замены не происходит:
Screenshot_13.png
Screenshot_13.png (8.21 КБ) 3533 просмотра

Re: RichText и Параметры взаимодействия

Добавлено: 30 мар 2018, 21:02
Ivan
Здравствуйте.

На нашем примере замена происходит корректно.
Возможно есть какие-то нюансы именно с передаваемым текстом.
Поэтому прикрепляем наш пример.
Также, мы обнаружили небольшой нюанс в используемом методе CorrectEncoding - он возвращает null если в стринге нет русских букв.
Поэтому мы включили этот метод в тело отчёта и упростили его для конкретной задачи.

Спасибо.

Re: RichText и Параметры взаимодействия

Добавлено: 02 апр 2018, 14:06
Денис Суворов
Отлично, проблема решена!
Спасибо!

Re: RichText и Параметры взаимодействия

Добавлено: 02 апр 2018, 19:48
HighAley
Здравствуйте.

Мы всегда рады вам помочь.
Обращайтесь ещё, если нужна будет помощь.

Спасибо.