2016-04-08 3 views
0

В моем приложении используется ActiveReports. Это непрерывный отчет, содержащий более 100 страниц. В отчете также есть SubReports. Он содержит как текст, так и несколько изображений.Активные отчеты Изображение разделено

Теперь, когда отчет создается, изображение в основном отчете разбивается на два и отображается. Например, если на странице 5 есть изображение, оно разбивается, а первая половина показана на 5-й странице, а вторая половина показана на 6-й странице.

После нескольких поисков я обнаружил, что вставка page break помогает. Но как мне найти report заканчивает свою страницу, и у нее есть image, и поэтому мне нужно будет вставить page break? Или есть лучшее решение?

Image Break

ответ

0

установить свойство раздела KeepTogether истинного и ActiveReports будет убедиться, что раздел остается вместе и не делится между страницами. надеюсь это поможет.

+0

В разделе много панелей, что делает свойство true, если вся секция не подходит. Мне нужна только панель изображений, чтобы проверить, подходит ли она. – iamCR

+0

Любой другой способ достичь? – iamCR

0

После нескольких поисков я нашел ответ от here

Присоединяющей добротности & типа,

2 пути для достижения этой цели,

Там нет KeepTogether свойства для элемента управления. Единственный способ указать, чтобы сохранить это вместе, - это иметь элемент управления в разделе, где свойство keep together установлено в true. В этом случае это решение не сработает.

1. Одним из подхода было бы, чтобы иметь PageBreak контроль прямо над контролем и вы должны динамически вычислить, где вы находитесь на этой странице. Затем вы можете использовать метод MeasureParagraphHeight, чтобы увидеть, какой должна быть надстройка для визуализации его текста, и установите для свойства свойства PageBreak значение true, если оно не будет помещаться на странице. При таком подходе вам необходимо также учитывать высоту маржи.

Если есть SubReports, К сожалению, SubReports не всегда следует правилам KeepTogether. Доказательств следует избегать, если это абсолютно необходимо, поскольку вы используете дополнительный отчет &, который добавляет дополнительные служебные данные.

2. В этом случае я бы использовал другой раздел groupheader, для которого свойство datafield установлено на то, что повторяется для каждой строки данных. Затем переместите существующие элементы управления в разделе подробных данных к этому внутреннему GroupHeader. Элементы управления по-прежнему будут отображать один ряд данных. Затем элемент управления может быть изолирован в своем собственном разделе с помощью набора свойств KeepTogether раздела.

Я использовал второй метод для достижения своей работы.

Смежные вопросы