Не работает Keepwithdata проперть у Groupheaderband

отредактировано 23:48 Раздел: FastReport .NET
Столкнулся с такой проблемой: есть две таблицы
Таблица 1 поля: UserID, DivisionID и т.д
Таблица 2 поля: UserID, CarID и т.д.
Обычный мастер-детайл. Связь между двумя таблицами по UserID. Отчет для оформления пропусков на стоянку для автомобилей. Сотрудники выводяться в отчете с группировкой по подразделению (DivisionID).
В дизайнере отчет выглядит вот так:

Комментарии

  • отредактировано 23:48
    Здравствуйте,

    Попытался повторить проблему на тестовых отчетах - "Groups" и "Complex (Master-detail + group)". Не получилось - все работает как задумано. Можете прислать тестовый отчет, который я смогу запустить и посмотреть?
    написал:
    т.е. мне пришлось сделать подотчет
    Это не обязательно - можно сделать как в отчете "Complex (Master-detail + group)".
  • отредактировано August 2009
    AlexTZ написал: »
    Здравствуйте,

    Попытался повторить проблему на тестовых отчетах - "Groups" и "Complex (Master-detail + group)". Не получилось - все работает как задумано. Можете прислать тестовый отчет, который я смогу запустить и посмотреть?
    А что прислать - файлик *.fpx в который сохранить готовый отчёт? И куда? Просто приаттачить к сообщению?
    ЗЫ: Есть подозрение, что это из-за подотчета получаеться...
    AlexTZ написал: »
    Это не обязательно - можно сделать как в отчете "Complex (Master-detail + group)".
    Это не подходит. Нужно, чтобы автомобили начинались на той же строке, что и основные данные...
  • отредактировано 23:48
    Для начала пришлите .frx и .fpx на tz@fast-report.com. Если этого будет недостаточно для воспроизведения ошибки, мне понадобится полноценный тестовый проект.
  • отредактировано 23:48
    AlexTZ написал: »
    Для начала пришлите .frx и .fpx на tz@fast-report.com. Если этого будет недостаточно для воспроизведения ошибки, мне понадобится полноценный тестовый проект.
    Отправил...
  • отредактировано 23:48
    У бэнда Data2 на странице вложенного отчета отключите св-ва "Держать вместе", "Держать детали вместе". Они там не нужны, т.к. subreport печатается в режиме "печать на родителе". Кроме того, возникает конфликт со св-вом "Не отрывать от данных" у группы, т.к. механизм удержания - глобальный, и подобной вложенности не допускает.
  • отредактировано 23:48
    AlexTZ написал: »
    У бэнда Data2 на странице вложенного отчета отключите св-ва "Держать вместе", "Держать детали вместе". Они там не нужны, т.к. subreport печатается в режиме "печать на родителе". Кроме того, возникает конфликт со св-вом "Не отрывать от данных" у группы, т.к. механизм удержания - глобальный, и подобной вложенности не допускает.
    Спасибо, всё прочинилось. Блин, кто бы знал... Я то думал, что если отключить свойства "Держать вместе" и "Держать детали вместе", то может разорваться список автомобилей....
  • отредактировано 23:48
    В режиме subreport "Печатать на родителе" все содержимое сабрепорта печатается в виде набора объектов "Текст" на родительском бэнде. В такой ситуации разрыв возможен, только если у родительского бэнда включить св-во "Может разрываться".
  • отредактировано 23:48
    AlexTZ написал: »
    В режиме subreport "Печатать на родителе" все содержимое сабрепорта печатается в виде набора объектов "Текст" на родительском бэнде. В такой ситуации разрыв возможен, только если у родительского бэнда включить св-во "Может разрываться".
    Понял, спасибо.
  • отредактировано September 2009
    AlexTZ, подскажи еще почему теперь Подвал отчёта переноситься на последнюю страницу в одиночестве? Добавил немного данных и вот:
  • отредактировано 23:48
    Такую ситуацию, когда есть только одна запись, FR обработать не в состоянии. Существующий механизм keep этого не позволяет. Выход - самому писать обработчики в скрипте.
  • отредактировано 23:48
    AlexTZ написал: »
    Такую ситуацию, когда есть только одна запись, FR обработать не в состоянии. Существующий механизм keep этого не позволяет. Выход - самому писать обработчики в скрипте.
    Блин, засада. Я уж было обрадовался, что все так хорошо получается. :-( А чем это отличается от двух записей? Странно, но в QuickReport'e это вроде делалось испокон веков. Ладно, а скриптом то как - считать ширину каждого банда? Я так понимаю, одним обработчиком тут не обойдешься...
  • отредактировано 23:48
    написал:
    А чем это отличается от двух записей?
    Тем, что одна запись не может быть одновременно удержана и с заголовком, и подвалом. Правильно, конечно, в такой ситуации всю группу перенести на новую страницу - но механизм keep этот случай не поддерживает. Не уверен, что удастся добавить поддержку "малой кровью", без ухудшения стабильности.

    Скриптом - надо включить два прохода у отчета. На первом проходе считаем количество записей в каждой группе, на втором - переносим группу на новую страницу, если в ней одна запись и она целиком не помещается на странице.
  • отредактировано 23:48
    AlexTZ написал: »
    Тем, что одна запись не может быть одновременно удержана и с заголовком, и подвалом. Правильно, конечно, в такой ситуации всю группу перенести на новую страницу - но механизм keep этот случай не поддерживает. Не уверен, что удастся добавить поддержку "малой кровью", без ухудшения стабильности.

    Скриптом - надо включить два прохода у отчета. На первом проходе считаем количество записей в каждой группе, на втором - переносим группу на новую страницу, если в ней одна запись и она целиком не помещается на странице.
    Я конечно и имел ввиду перенос вместе с заголовком. Это самый правильный вариант. Тем более, что свойства Не отрывать от данных стоит и у группы и у подвала. Спасибо за примерчик, а два прохода и так включено, т.к. кол-во страниц печатается...
  • отредактировано 23:48
    Вроде бы удалось решить проблему простым способом. Не уверен, что будет работать всегда и везде, но на единичной группе работает. Изменения попадут в v1.2.2.
  • отредактировано September 2009
    Я наверное достал уже, но теперь у меня подвал отвалился на другую страницу. У подвала стоит проперть Не отрывать от данных, а он все равно перенесся... И записей вроде не одна... :)

  • отредактировано 23:48
    Ответил мылом.

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

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