Порядок следования бэндов

macmac Минск
отредактировано 16:03 Раздел: FastReport 2.xx VCL
Подскажите, как решить задачу с CrossData.

Делаю cross-отчет. Кратко суть: нужно распечатать количество товаров в разных магазинах. Количество ни тех, ни других заранее не известно. Делаю два запроса: первый (master) - возвращает список всех товаров. Второй (detail) - возвращает количество конкретного товара (из мастер-таблицы) в каждом магазине. В итоге должен получиться отчет в котором для каждого магазина будет указано количество каждого товара (магазины - это заглавия столбцов, товары - значения первого столбца, количество - на пересечениях строк и столбцов). Вот вообщем-то и все.
Как делаю: два TQuery (первый - списко товаров. Во втором два поля, название фирмы и количество товара. Второй делаю Detail для товаров)
два TfrDBDataSet для этих query. Тот что с товарами делаю Датасетом отчета.
В отчете кладу MasterHeader, MasterData, CrossData. Для CrossData задаю DataSource и для пересечения с MasterHeader и для пересечения MasterData один и тот же - Query с количеством товара на фирмах. На пересечении CrossData и MasterHeader кладу frMEmoView с названием фирмы из второго запроса, на пересечении CrossData и MasterData - с количесвтом товара. На MasterData крайне слева кладу frMEmoView с названием товара из первого запроса. Все работает.

Теперь я делаю группировку товаров (товары разбиты на категории). Добавляю в отчет GroupHeader, указываю параметр группировки - поле категория из первого отчета. Все работает но на первой странице GroupHeader печатается над MasterHeader , т.е. сначала название первой категории продуктов, потом заголовки столбцов - названия фирм, потом сами данные. Хотелось бы что-бы сначала заголовки столбцов, потм название группировки, потом данные. На последущих страницах все нормально , а вот с первой надо что-то сделать. При использовании PageHeader вместо MasterHeader я получаю нужное расположение всех заголовков, но при этом не могу ввывести названия фирм в заголовках столбцов, так как PageHeader отсутствует в списке при задании DataSource для CrossData .

Подскажите, как решить задачу?

Комментарии

  • macmac Минск
    отредактировано 16:03
    Раз никто не ответил, то пришлось самому искать ;)
    Я просмотрел что есть такой банд как ColumnHeader (недавно только FastReport стал использовать). Он то и решил мою проблему.

    Только почему никто из опытных пользователей FastReport не подсказал это сразу? Или здесь одни новички "тусуются"?

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

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