Страница 1 из 1
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 01:46
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"
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 04:58
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);
Спасибо.
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 06:15
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);
но на странице отчета она не появляется. В чем может быть причина?
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 08:03
Aleksey
Здравствуйте,
Для вертикальной линий этого недостаточно. У вертикальной линии еще необходимо создать StiStartPointPrimitive и StiEndPointPrimitive, начальная и конечная точка линии.
Для которых необходимо указать в ReferenceToGuid guid самой линии.
Самый простой способ создать какие-либо элементы из кода вашего приложения, это создать необходимый элемент в дизайнере и посмотреть код на вкладке Code.
Спасибо.
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 09:46
Dolgopolov Dmitriy
Не могу найти вкладку Code.
Если же это пункт контекстного меню "View Code (F7)" объекта StiReport, то он возвращает меня в мой код, где я произвожу создание элементов и всяческие обработки. А вот скриптов созданных мной элементов в дизайнере там нет.
Как из кода изменить шрифт текстового поля?
Добавлено: 09 фев 2011, 10:59
Ivan
Здравствуйте.
Включить закладку "Code" можно в дизайнере в контекстном меню закладок.
Спасибо.
Как из кода изменить шрифт текстового поля?
Добавлено: 10 фев 2011, 04:33
Dolgopolov Dmitriy
Спасибо! Закладка "Код" появилась. Но при добавлении элементов на страницу отчета, в коде не происходит никаких изменений.
Как из кода изменить шрифт текстового поля?
Добавлено: 10 фев 2011, 04:38
Aleksey
Здравствуйте,
Вам так же необходимо включить отображение автогенерируемого кода:
Спасибо.
Как из кода изменить шрифт текстового поля?
Добавлено: 10 фев 2011, 04:42
Dolgopolov Dmitriy
Спасибо! Наконецто получилось
Как из кода изменить шрифт текстового поля?
Добавлено: 10 фев 2011, 04:56
Aleksey
Здравствуйте,
Всегда рады помочь.
Сообщите, если понадобится дополнительная помощь.