После нескольких поисков я нашел ответ здесь
Объединение типа вопросов и ответов,
2 способа добиться этого,
Для элемента управления нет свойства KeepTogether
. Единственный способ указать, что он должен храниться вместе, — это поместить элемент управления в раздел со свойством «держать вместе» раздела, установленным в значение true. В данном случае такое решение не сработает.
1. Один из подходов заключается в том, чтобы иметь элемент управления PageBreak
прямо над элементом управления, и вам придется динамически вычислять, где вы находитесь на странице. Затем вы можете использовать метод MeasureParagraphHeight
, чтобы увидеть, какой высоты должен быть элемент управления для отображения его текста, и установить для свойства enable PageBreak значение true, если он не помещается на странице. В этом подходе вам также необходимо учитывать высоту полей.
Если есть SubReports
, к сожалению, SubReports
не всегда следуют правилам KeepTogether
. На самом деле следует избегать подотчетов, если в этом нет крайней необходимости, поскольку вы запускаете дополнительный отчет, и это увеличивает накладные расходы.
2. В этом случае я бы фактически использовал другой раздел заголовка группы, свойство datafield
которого установлено на что-то, что повторяется для каждой строки данных. Затем переместите существующие элементы управления в разделе сведений в этот внутренний GroupHeader
. Элементы управления по-прежнему будут отображать одну строку данных. Затем элемент управления можно изолировать в своем собственном разделе с установленным свойством раздела KeepTogether.
Я использовал второй метод для достижения своей работы.
person
A Coder
schedule
18.05.2016