|
17.01.2002, 14:01 | #1 |
Administrator
|
Динамическая настройка размеров элементов отчета
Средства, предоставляемые Axapta, для автоматического изменения размеров элементов в зависимости от размеров печатной области достаточно убоги. По сути они являются калькой аналогичных средств для форм, но то, что было достаточно для представления объектов на экране, совершенно не удовлетворяет потребности, возникающие при создании печатных документов (Кроме того, мне по просту не удалось заставить работать Column Width в свойстве Width у Control).
Решить проблему можно, дописав код в метод executeSection для соответсвующей секции. В этом методе можно непосредственно указать ширину Control (только делать это следует перед super, т. к. super выводит секцию на печать, а после этого что-то менять уже безсмысленно). Получить доступ к определенному Control, входящему в секцию, можно используя методы секции controlNo, controlName и control.
Для изменения ширины объекта можно использовать метод ReportControl:width100mm. В качестве параметра ему передается целое число - ширина Control без рамки в сотых долях миллиметра. Для того, чтобы задать ширину Control с рамкой используйте метод ReportControl::width100mmInclBorder. Чтобы расчитать ширину Control бывает полезно знать ширину страницы, на которую выводится отчет. Для этого предназначен метод ReportRun::printerPageWidth. Он возвращает ширину страницы в сотых долях миллиметра. Вызывать его следует у объекта класса, представляющего собой печатаемый отчет (то есть у объекта element).
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|