Как вывести пустые строки на Masterdata?

отредактировано 04:59 Раздел: FastReport 4.0
Ситуация следующая: строю довольно сложный отчет ( на мой взгляд :) ), наборов данных несколько(они могут быть пустыми). На одной странице данные вывожу в две таблицы которые размещены в два столбца, и число строк которых должно совпадать. Если набор данных пуст необходимо выводить пустые строки. Я использую несколько решений:
1. На этапе формирования данных, проверять пустые ли таблицы. Если да, то добавлять пустые строки. Этот метод мне не очень нравится, ну не красиво и все :) .
2. В скрипте : если набор данных пуст то изменяем датасет, и указываем количество строк.
if qTest.RecordCount=0 then                                                                 
 begin
   masterdata1.dataset:=nil;
   masterdata1.rowCount:=3;
   Engine.ShowBand(header1);       
   Engine.ShowBand(masterdata1);
   Engine.ShowBand(footer1);       
 end;
Данный подход в моем исполнении то же имеет свои недостатки. Самый главный - в примере я указываю rowCount:=3 но выводится все равно одна пустая строка.
Подскажите пожалуйста, как вы решаете задачу вывода пустых строк в MasterData?

Комментарии

  • отредактировано 04:59
    Если я правильно понял суть, то проще добавить бэнд типа Child повторяющий MastreDat-у. И делать showband именно чайлду, мастердату менять не нужно.
  • отредактировано 04:59
    Пробовал варианты с child, но если MasterData пуст то child не выводится :)
  • отредактировано 04:59
    Дата бэнд привязан к датасету и если этот датасет пустой, то до обработки бэнда дело не дойдет.
    ShowBand показывает только один бэнд(дерево бэндов печатает сам движок).

    Поменяйте код на что-то вроде :
    if qTest.RecordCount=0 then                                                                 
    for i := 1 to 3 do
    begin 
       Engine.ShowBand(header1);       
       Engine.ShowBand(masterdata1);
       Engine.ShowBand(footer1);       
    end;
    
  • отредактировано 04:59
    Помоги разобраться ситуация подобная, существует 3 мастердаты на одном листе и надо чтобы когда они пусты выводило как минимум их заголовок и подвал, ну и можно одну пустую строку! В предыдущих версия можно было задать это в свойствах мастердаты (выводит даже когда пустой) в этой же версии (4.5) не могу разобраться как сделать подобное!
  • отредактировано 04:59
    Все спасибо за внимание вопрос закрыт. Решение: написать скрипт в свойство страницы OnManualBuild

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.