Вертикальный бэнд и Tfrxfibcomponents

отредактировано 07:10 Раздел: FastReport 4.0
Для примера создаю такой отчет:
select kl from book
FIBQuery2 -
select inv from invnom
FIBQuery3 -
select count(inv) from invnom where (kl_book = :kl) and (inv = :inv)
Горизонтальный бэнд имеет датасет FIBQuery1, вертикальный бэнд - FIBQuery2, а на их пересечении находится FIBQuery3. Плюс у FIBQuery3 свойство master = FIBQuery2.
Когда FIBQuery2 возвращает несколько записей, FIBQuery3 подставляет в параметры данные из каждой строки и отчет выводится с правильными данными. Но, если FIBQuery2 вернет одно значение, FIBQuery3 в качестве значений параметров возьмет данные токо из первой строки и продублирует получившееся значение на все остальные строки. Если вместо компонентов TfrxFIBComponents (FIBQuery1-3) использовать аналогичные компоненты TfrxIBXComponents, то такой ошибки не возникает - в обоих случаях все выводится нормально. Подскажите, как решить эту проблему.




Комментарии

  • отредактировано July 2008
    решил проблему таким образом: для мемо-поля, находящегося на пересечении вертикального и горизонтального бэндов, написал обработчик события OnBeforePrint
    FIBQuery3.close;
     FIBQuery3.parambyname('kl').Value := <FIBQuery1."kl">;
     FIBQuery3.parambyname('inv').value := <FIBQuery2."inv">;
     FIBQuery3.open;
     memo3.text := FIBQuery3.FieldByName('cinv').value;
    
    но все равно, есть ли фикс для компонента TfrxFIBComponents?

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

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