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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2009, 09:08   #1  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Вопрос к знатокам - метод eval() у reportStringControl получает заранее рассчитанные данные или каждый раз вычисляет их заново? Если не вычисляет, то можно вообще вот такой метод вставить в Global и вызывать его из executeSection отчета, передавая ему текущую секцию:
X++:
static void prepareReportDynamicSection(ReportSection _section)    
{
    ReportControl           reportControl;
    ReportStringControl     reportStringControl;
    ReportShapeControl      reportShapeControl;
    Counter                 i;
    int                     childNodesCount;
    int                     maxHeight100mm = _section.height100mm(),
                            maxTop100mm;

    childNodesCount = _section.AOTchildNodeCount();

    for(i = 0; i < childNodesCount; i++)        // step one
    {
        reportControl = _section.controlNo(i);
        if(!reportControl || reportControl.handle() != classnum(ReportStringControl))
            continue;
        reportStringControl = reportControl;
        maxHeight100mm  = max(reportStringControl.heightOfWordWrappedString100mm(reportStringControl.eval()),
                              reportStringControl.heightOfWordWrappedString100mm(' '),
                              maxHeight100mm);

        maxTop100mm     = max(maxTop100mm, reportStringControl.top100mm());
    }

    for(i = 0; i < childNodesCount; i++)       // step two
    {
        reportControl = _section.controlNo(i);

        if (! reportControl)
            continue;

        if(reportControl.controlType() == ReportFieldType::Box)
        {
            reportShapeControl = reportControl;

            if(reportShapeControl.type() != ShapeType::Horizontal)
            {
                reportShapeControl.height100mm(maxHeight100mm + 1 + maxTop100mm);
            }
            else
            {
                if(reportShapeControl.top100mm())
                {
                    reportShapeControl.top100mm(maxHeight100mm + 1 + maxTop100mm);
                }
            }
        }
        else
        {
            reportControl.height100mm(maxHeight100mm);
        }
    }
}
Теги
высота строк отчета, отчет, сеть

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Пользовательский генератор строк-перечислений...- 2: Доп.вкладка для SysQueryForm Gustav DAX: База знаний и проекты 1 04.05.2007 18:04
Высота строк грида Pustik DAX: Программирование 1 14.07.2006 09:26
Очень маленькая высота строк в таблице формы (1-2 мм) Gustav DAX: Программирование 11 17.06.2006 11:57
Высота строк в отчетах динамически velk DAX: Программирование 5 26.10.2004 11:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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