AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.01.2002, 14:01   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Динамическая настройка размеров элементов отчета
Средства, предоставляемые Axapta, для автоматического изменения размеров элементов в зависимости от размеров печатной области достаточно убоги. По сути они являются калькой аналогичных средств для форм, но то, что было достаточно для представления объектов на экране, совершенно не удовлетворяет потребности, возникающие при создании печатных документов (Кроме того, мне по просту не удалось заставить работать Column Width в свойстве Width у Control).

Решить проблему можно, дописав код в метод executeSection для соответсвующей секции. В этом методе можно непосредственно указать ширину Control (только делать это следует перед super, т. к. super выводит секцию на печать, а после этого что-то менять уже безсмысленно).

Получить доступ к определенному Control, входящему в секцию, можно используя методы секции controlNo, controlName и control.
  • controlNo(int _number)
    Возвращает Control с указанным номером. О нумерации нигде ничего не сказано, но на практике Controls нумеруются сверху вниз в порядке их расположения в AOT.
  • controlName(str _name)
    Возвращает Control с указанным именем (так, как оно записано в поле Name у Control).
  • control(fieldId _p1 [, tableId _table=0] )
    Возвращает control, который базируется на поле указанным id. Если id таблицы не указано, будет взята таблица, указанная в свойстве Table у Control или (если не указано) в свойстве Table у SectionGroup, являющейся предком для текущей секции.

Для изменения ширины объекта можно использовать метод 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
Теги
разработка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Время формирования отчета Yprit DAX: Программирование 2 04.09.2006 12:00
Как изменить заголовок окна предв.просмотра отчета Владимир Максимов DAX: Программирование 6 03.07.2006 15:34
Обращения к полям отчета Oz DAX: Программирование 4 25.02.2004 13:04
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Формирование отчета с динамически изменяемым числом столбцов. rumpleteazer DAX: Программирование 1 06.09.2002 11:25

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:19.