Проблема с Resetpagenumbers
У GroupHeader установил ResetPageNumbers, в EngineOptions включил DoublePass. Вывожу в бэнде PageHeader переменные [Page]/[TotalPages] и всегда вижу сплошную нумерацию, сброса номеров страниц нет.
Структура отчета такая:
PageHeader
MasterData
GroupHeader
DetailData
GroupFooter
Footer
Ожидаю следующей реакции: каждый новый GroupHeader сбрасывает счетчик текущей страницы Page в 1. Что ждать от TotalPages - не знаю, если честно.
Помогите разобраться, плиз.
P.S. Попробовал насильно менять ее - никакой реакции:
procedure GroupHeaderOnBeforePrint(Sender: TfrxComponent);
begin
Set('Page', 1);
end;
Как сбрасывать счетчик страниц в моем случае? И как сделать так, чтобы TotalPages на каждой странице показывал именно кол-во страниц в диапазоне между сбросами в 1, а не кол-во всех страниц отчета?
Структура отчета такая:
PageHeader
MasterData
GroupHeader
DetailData
GroupFooter
Footer
Ожидаю следующей реакции: каждый новый GroupHeader сбрасывает счетчик текущей страницы Page в 1. Что ждать от TotalPages - не знаю, если честно.
Помогите разобраться, плиз.
P.S. Попробовал насильно менять ее - никакой реакции:
procedure GroupHeaderOnBeforePrint(Sender: TfrxComponent);
begin
Set('Page', 1);
end;
Как сбрасывать счетчик страниц в моем случае? И как сделать так, чтобы TotalPages на каждой странице показывал именно кол-во страниц в диапазоне между сбросами в 1, а не кол-во всех страниц отчета?
Комментарии
Соответственно, установка StartNewPage для GroupHeader не начинает новую страницу, т.к. MasterData короткий по высоте и он уже начал новую страницу. Тем не менее, я его поставил - никакого влияния на проблему это не оказало - в отчете все-равно не сбрасываются страницы.
Вообще, интересно, если у двух подряд идущих бэндов поставить StartNewPage, то они создадут 2 страницы или одну. У меня получается, что одну.
---
А почему насильно из скрипта переменная Page не меняется? В документации написано, что можно менять любые переменные, в т.ч. и системные. Проверял в отладчике - до этого места доходит, но переменную не меняет.
Если проблема будет нерешабельна, то я не знаю что делать - придется тратить время на поиски другого продукта. Я использую 1% от его возможностей и напоролся на такой баг.
Версия FastReport 4.7.182 из официального дистирибутива Дельфи, третий диск (партнерский софт).
Проблемы описаны в самом отчете.
DataSet "D" does not exist
DataSet "M" does not exist
и не строит отчет.
В дизайнере отчета, в окне, вызываемом из меню Report/Data пусто. Все значения DataSet у разных компонентов "(Not assigned)".
Откуда там 2 датасета и как их удалить?
Поначалу я думал, что дело в моем коде - подгрузил свой отчет - проблемы нет, в нем Report.DataSets.Count=0 на момент старта.
в надежде, что заголовок не будет печататься, если все строки DetailData уже выведены. В результате заголовок вообще никогда не виден. Какого типа Line и Count, я думал целочисленного?
Я перечитал доку (Руководство пользователя), но видать я плохо понимаю философию построения отчета. В частности, я так и не понял, почему не сбрасывались номера в моем варианте.
Но чтобы не дергать никого больше, не могли бы Вы ткнуть поточнее в статьи документации (DeveloperManual-ru.chm, FR4.6.ProgrammerManual-ru.chm, FR4.6.UserManual-ru.chm, FR4.HLP), где можно точно и однозначно почерпнуть информацию о:
1. разнице между ожидаемым и реальным: редактор позволяет ставить компоненты почти "как хочешь", задавать их свойствам осмысленные значения, но результат получается далеко не такой, как можно было бы ожидать на основе формального изучения свойств;
2. том, где и какие функции работают и не работают (встречное предложение - нельзя ли генерить ошибку, хотя бы в runtime для нерабочей функции);
3. использовании вертиальных бендов. В другом отчете я много раз пытался его "привинтить", но, почитав форум просто понял, что лучше отказаться от идеи. Проблема таже - разница между ожидаемым и реальным.
Предложения по совершенствованию:
1. а нельзя ли завести просто "Band", не несущий никакой дополнительной семантики - ни заголовок, ни подвал, ни футер, ни дочерний, а просто бэнд, который можно поставить под каким-либо другим бэндом и от него "растить" дочерние бенды и т.д.;
2. в редакторе очень бы помогло обозначение зон действия некоторых "волшебных" бендов, например:
2a. GroupHeader...GroupFooter - обозначить пространство между ними (и с учетом вложенности тоже), например, на полях;
2b. отношения "родитель - дочерний" бэнд. Сейчас только по свойствам можно это понять, но визуально было бы неплохо их "вкладывать" друг в друга или цепочку изображать стрелочками на полях;
2c. область действия MasterData. Хорошо видно на моем отчете - ведь область действия моего MasterData не только прямоугольник с названием MasterData, но и то, что ниже (до следующего MasterData). А вот куда входит область выше MasterData - это вообще не понятно - текущему или предыдущему MasterData она принадлежит - хз;
3. Очень не хватает поддержки прозрачности PNG, GIF и ICO для разукрашивания отчетов. Например, в одном отчете мне нужно было нарисовать стрелочку мыши над текстовым линком - никак. Вместо альфа-канала вокруг стрелки рисуется белый фон, который перкрывает сам текст. Пришлось отказаться.
Вообще, прикольный движок отчетов, очень понравился, но уж больно неочевидно в нем все. Это сужает сферу применения для тех, кто не готов разбираться "до бита" в нем.
У меня проблемка немного проще: мне просто нужно сбросить счётчик страниц и начать его сначала в определённом месте документа. Подскажите, пожалуйста, как организовать.
Заранее благодарен.