Нестандартный отчет

отредактировано 16:39 Раздел: FastReport 4.0
Есть таблица из которой нужно вывести записи в отчет но с одним ньюансом. Записи могут быть 2 типов. Тип задается специальным полем таблицы. Если значение 1 то выводятся значения полей записи один под другим в виде этикетки. Если значение = 2 то выводится соответствующий рисунок из другой таблицы. Кроме того из набора полей с текстовой информацией не всегда нужно выводить все поля. Для одной записи например нужно вывести: Имя, фамилию, адрес и телефон а для другой только имя и фамилию, для третьей например: имя, фамилию, и телефон но без адреса. Тоесть как сделать так, чтоб можно было во-первых : выводить текстовую информацию для текущей записи или графическую и во-вторых определить нужно ли показывать данный реквизит текстовой информации или нет? Программа создается на bsd2006+firebird.

Комментарии

  • отредактировано 16:39
    Из описания неясно могут ли в одном отчете присутствовать одновременно записи 2 типов и в каком порядке. Присутствует ли сквозная упорядоченность записей двух типов или их можно выводить на двух разных листах или отчетах. Если это можно сделать, то проблем нет добавляется в отчет еще один лист и для каждого листа отфильтровывать свое значение. Если записи последовательно должны идти, то можно к бэнду, который отображает записи добавить child. Основной бэнд оформляется для отображения записей 1-го типа, child - для 2-го типа. У основного бэнда выставляется свойство PrintChildIfInvizible=True, а дальше в скрипте на событие OnBeforePrint основного бэнда вешается проверка на ключевое поле и соответствующие бэнды гасятся (свойство Visible).
  • отредактировано 16:39
    LadySahck написал: »
    Из описания неясно могут ли в одном отчете присутствовать одновременно записи 2 типов и в каком порядке. Присутствует ли сквозная упорядоченность записей двух типов или их можно выводить на двух разных листах или отчетах. Если это можно сделать, то проблем нет добавляется в отчет еще один лист и для каждого листа отфильтровывать свое значение. Если записи последовательно должны идти, то можно к бэнду, который отображает записи добавить child. Основной бэнд оформляется для отображения записей 1-го типа, child - для 2-го типа. У основного бэнда выставляется свойство PrintChildIfInvizible=True, а дальше в скрипте на событие OnBeforePrint основного бэнда вешается проверка на ключевое поле и соответствующие бэнды гасятся (свойство Visible).
    Вроде работает. Спасибо.

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

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