Как из кода изменить шрифт текстового поля?

Обсуждение Stimulsoft Reports.NET
Ответить
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Как из кода изменить шрифт текстового поля?

Сообщение Dolgopolov Dmitriy »

Я программно создал текстовое поле, но я не могу изменить у него шрифт.
код:

StiText t_name = new StiText(new RectangleD(3.6, 5.2, 14.6, 0.4));
t_name.Text = name;
t_name.Name = "t_Name";
t_name.Font.Bold = true;
page.Components.Add(t_name);

при компиляции возникает ошибка "Property or indexer 'System.Drawing.Font.Bold' cannot be assigned to -- it is read only"

Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Как из кода изменить шрифт текстового поля?

Сообщение Ivan »

Здравствуйте.
Whiplashock писал(а):Мне нужно из кода обратиться к элементу страницы отчета. Например к существующему текстовому полю, чтобы изменить его содержимое. Как это сделать?
Для шаблона отчета: report.GetComponents()["componentName"] или report.Pages[pageIndex].Components["componentName"].
Для отрендеренной страницы: report.RenderedPages[pageIndex].Components["componentName"].
Whiplashock писал(а):Плюс еще такой вопрос. Я программно создал текстовое поле, но я не могу изменить у него шрифт.
при компиляции возникает ошибка "Property or indexer 'System.Drawing.Font.Bold' cannot be assigned to -- it is read only"
Это ограничение Net Framework и GDI/GDI+ : все параметры шрифта можно указывать только при создании шрифта. У созданного шрифта параметры менять нельзя, они только для чтения.
Поэтому придется использовать следующий код:

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

t_name.Font = new Font(t_name.Font.Name, t_name.Font.Size, t_name.Font.Style | FontStyle.Bold);
Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Как из кода изменить шрифт текстового поля?

Сообщение Dolgopolov Dmitriy »

Благодарю! Очень помогло!

Новая проблема. Я программно пытаюсь нарисовать вертикальную линию:

StiVerticalLinePrimitive line = new StiVerticalLinePrimitive(new RectangleD(7.0, 10.0, 0.0, 3.0));
line.Name = "VLine1";
line.Color = Color.Black;
page.Components.Add(line);

но на странице отчета она не появляется. В чем может быть причина?
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Как из кода изменить шрифт текстового поля?

Сообщение Aleksey »

Здравствуйте,

Для вертикальной линий этого недостаточно. У вертикальной линии еще необходимо создать StiStartPointPrimitive и StiEndPointPrimitive, начальная и конечная точка линии.
Для которых необходимо указать в ReferenceToGuid guid самой линии.

Самый простой способ создать какие-либо элементы из кода вашего приложения, это создать необходимый элемент в дизайнере и посмотреть код на вкладке Code.

Спасибо.
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Как из кода изменить шрифт текстового поля?

Сообщение Dolgopolov Dmitriy »

Не могу найти вкладку Code.

Если же это пункт контекстного меню "View Code (F7)" объекта StiReport, то он возвращает меня в мой код, где я произвожу создание элементов и всяческие обработки. А вот скриптов созданных мной элементов в дизайнере там нет.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Как из кода изменить шрифт текстового поля?

Сообщение Ivan »

Здравствуйте.

Включить закладку "Code" можно в дизайнере в контекстном меню закладок.

Спасибо.
Вложения
code.gif
code.gif (24.53 КБ) 3826 просмотров
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Как из кода изменить шрифт текстового поля?

Сообщение Dolgopolov Dmitriy »

Спасибо! Закладка "Код" появилась. Но при добавлении элементов на страницу отчета, в коде не происходит никаких изменений.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Как из кода изменить шрифт текстового поля?

Сообщение Aleksey »

Здравствуйте,

Вам так же необходимо включить отображение автогенерируемого кода:

Спасибо.
Вложения
Screen.png
Screen.png (130.9 КБ) 3813 просмотров
Dolgopolov Dmitriy
Сообщения: 26
Зарегистрирован: 11 янв 2011, 06:08

Как из кода изменить шрифт текстового поля?

Сообщение Dolgopolov Dmitriy »

Спасибо! Наконецто получилось
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Как из кода изменить шрифт текстового поля?

Сообщение Aleksey »

Здравствуйте,

Всегда рады помочь.
Сообщите, если понадобится дополнительная помощь.
Ответить