Как перенести Master-бэнд на другую страницу?
На скрине видно, что название осталось на предыдущей странице. Как его перенести на следующую?
Если устанавливать свойство keeptogether=true, то большие наборы данных (т.е. если пунктов в отделе много) переносятся на новую страницу, оставляя много места на предыдущей...
Если устанавливать свойство keeptogether=true, то большие наборы данных (т.е. если пунктов в отделе много) переносятся на новую страницу, оставляя много места на предыдущей...
Комментарии
Вы не совсем меня поняли...
Объясню подробнее:
есть MasterData и DetailData, оба растягиваемые
на событии OnAfterCalcHeight у MasterData5, то ширина DetailData2.Height ещё не посчитана (проверял не раз), а на событии OnAfterCalcHeight у DetailData2, Engine.NewPage не перенесет MasterDat'у...
Есть два варианта решения этой проблемы:
1. Делать отчет двухпроходным, запоминать зав первый проход высоты компонентов, а вторым проходом уже делать расположение.
2. Посчитать высоту DetialData когда у неё одна строка на тестовом примере, допустим получиться у вас 40. И предложенную вами формулу преобразовать в следующую:
Мне как-то приятнее использовать второй вариант, но если высоты детейлов у вас сильно различаются, то только первый вариант.
Хотя есть одно маленькое замечание, почему бы вам не использовать GroupHeader, на скринах явно видно что вы просто группируете, по подразделению, используйте для этого GroupHeader, у которого свойство KeepTogether отлично бы справилось с вашей проблемой.
Можно подробнее куда запоминать и на какие события вешать проверку. У меня 5 уровней данных и на всех надо отследить эти переносы.
не срабатывает. Фриспейс всегда больше....как будто дочерние бенды не заполнены данными, хотя второй проход.
Как это разруливается правильно?