Опять суммы по листам и вцелом.

BesBes
отредактировано 07:14 Раздел: FastReport 3.0
Здравствуйте, уважаемые!
Я на этом форуме впервые, так что не бейте. ;)

Вопрос, наверное избитый и когда я искал ответ на него на этом форуме не раз натыкался на ссылки мол, давно уже отвечали, но ни один из ответов проблему мою не решил.

На каждом листе нужно сделать сумму на текущем каждом листе и с начала документа.

Пробовал использовать ColumnFooter, но он печатается всегда в самом низу страницы и как его прижать вверх к данным я так и не нашел.
Пробовал использовать ColumnFooter и Footer вместе где на последней странице делал ColumnFooter невидимым, но тогда в Footer-е сумма на текущем листе почему-то была равна сумме по всему докменту, а это неправильно. (Хотя в построителе выражений все правильно).

Как решить такую простую проблему я думаю уже 4 дня - перепробовал все - не получается. Подскажите пожалуйста, кто сталкивался с подобной проблемой.
Заранее благодарен.

Комментарии

  • BesBes
    отредактировано 07:14
    Спасибо за оперативность, но я смотрел эту тему и не нашел там ответа на свой вопрос. Т.е. да все написано хорошо, но на какое именно сообщение решает проблему так и непонятно.
    Например на счет AfterEachRow все правильно написано - действительно получается чушь.
    Или ответ это "Без скрипта никак.".
    Я правильно понял?
  • отредактировано 07:14
    Мне там нравится длинный пост, который с примерами... ;)
    Может он решит вашу проблему.
  • BesBes
    отредактировано 07:14
    Попробовал скрипт:
    Первое: сругалась на isValidFloat - пришлось закоментить.
    Второе: очень долго идет формирование отчета 3 стр = 5-6 сек.
    Третье: в предыдущих версиях FastReport-a ColumnFooter был прижат к данным - проблема отпадала сама собой. Почему сейчас этого нет? Может где-то есть хитрая галочка?
  • отредактировано 07:14
    Можно так

    procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
    begin
    Engine.ShowBand(ColumnFooter1);
    Columnfooter1.visible := false;
    end;
  • BesBes
    отредактировано 07:14
    2Bali: Красота! Тлько вот мне итнересно, что происходит при этом?
    Т.е. подвал колонки прижался вверх к самим колонкам. А благодаря чему?
    Т.е. что это значит?

    Engine.ShowBand(ColumnFooter1);
    Columnfooter1.visible := false;

    Спасибо. Все-таки утро вечера мудренее. ;) А то вчера все мозги расплавил. ;)
  • отредактировано 07:14
    ColumnFooter всегда прижимается к колонкам, но выводится на печать после всех компонент перед PageFooter, a ShowBand(ColumnFooter) выводит его принудительно, Visible=false чтобы не вывелся еще раз перед PageFooter
  • BesBes
    отредактировано 07:14
    Спасибо огромное, вы меня очень выручили. ;)

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

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