DataDynamics.ActiveReports заменяет текст во время выполнения, изменяет оригинальный формат
Я почти остался без времени, но столкнулся с проблемой с DataDynamics.ActiveReports.
Я должен заменить текст для 500 отчетов, чтобы автоматизировать задачу с помощью кода во время выполнения.
Основная проблема, с которой я сталкиваюсь, заключается в замене текста, исходный жирный шрифт которого не изменится на обычный шрифт. Выровненный по центру текст будет выровнен по левому краю, а также Arial Узкий текст изменится на Arial.
Есть ли способ заменить текст, не нарушая оригинальный формат.
Вот кусок кода:
var textBox = (DataDynamics.ActiveReports.RichTextBox)reportSection.Controls[controlIdx];
if (textBox.Text.Contains("Babu"))
{
MessageBox.Show(textBox.Text);
var modifiedtext = (DataDynamics.ActiveReports.RichTextBox)reportSection.Controls[controlIdx];
modifiedtext.Text = modifiedtext.Text.Replace("Babu", "Mannu");
MessageBox.Show(modifiedtext.Text);
}
Измененный отчет имеет формат, отличный от исходного. Как исправить эту проблему??
1 ответ
Его richtext, а не простой текст.
с каждым форматированным текстом связано форматирование.
Попробуйте отредактировать исходный RTF, который вы загружаете в элемент управления RTB. Это то, что я бы порекомендовал.
Или другой подход может заключаться в использовании richtextbox.rtf.replac вместо richtextbox.text.
В какое время обработки отчета вы это делаете?