Можно ли синхронизировать ширину полей данных с шириной заголовка? - PullRequest
1 голос
/ 04 июня 2019

У меня есть отчет, который показывает данные по одному или двум городам. Данные являются числовыми и узкими, в то время как названия городов могут быть длиннее. У меня есть один кадр запроса / повторения для названий городов (и некоторой другой информации) и другой кадр запроса / повторения для многострочных данных. Для каждого города есть 5 числовых значений.

При коротких названиях городов столбцы выравниваются нормально, но при более длинных именах столбцы имен расширяются все больше вправо, а столбцы данных остаются короткими и влево.

Я не думаю, что возможно связать поля вместе, так как они в разных кадрах. Прикрепление кадров может привести к центру кадра значения под рамкой города, но столбцы больше не будут выровнены.

Мой принцип компоновки, здесь с 3 значениями на город. Оба кадра повторяются только вниз, но городской кадр даст только один ряд.

 ___________________________________________________
| Some label                                        | rep. frame
|  _____   _____    _____   _____    _____   _____  |
| |     | |     |  |     | |     |  |     | |     | |
| |City1| |City2|  |City1| |City2|  |City1| |City2| |
| |_____| |_____|  |_____| |_____|  |_____| |_____| |
|___________________________________________________|
 ___________________________________________________
|  _____   _____    _____   _____    _____   _____  | rep. frame
| |     | |     |  |     | |     |  |     | |     | |
| |ValA1| |ValA2|  |ValB1| |ValB2|  |ValC1| |ValC2| |
| |_____| |_____|  |_____| |_____|  |_____| |_____| |
| more rows...                                      |
|___________________________________________________|

С более длинными именами раскладка превращается в это:

 ________________________________________________________________________
| Some label                                                             |
|  ______   ___________    ______   ___________    ______   ___________  |
| |      | |           |  |      | |           |  |      | |           | |
| |Longer| |Even longer|  |Longer| |Even longer|  |Longer| |Even longer| |
| |______| |___________|  |______| |___________|  |______| |___________| |
|________________________________________________________________________|
 ___________________________________________________
|  _____   _____    _____   _____    _____   _____  |
| |     | |     |  |     | |     |  |     | |     | |
| |ValA1| |ValA2|  |ValB1| |ValB2|  |ValC1| |ValC2| |
| |_____| |_____|  |_____| |_____|  |_____| |_____| |
| more rows...                                      |
|___________________________________________________|

Если нет другого способа, я мог бы попытаться расширить запрос-значение начальным объединением, чтобы также выбрать выбранные города. Тогда названия городов и значения будут напечатаны в том же поле. Наконец, я могу удалить поля города и превратить верхний повторяющийся кадр в обычный.

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

Итак, я попытался UNION, чтобы получить имена и значения в одном кадре. По крайней мере, я кое-что выучил ...

Результат был такой

 ________________________________________________________________________
| Some label                                                             |
|  ______   ___________    ______   ___________    ______   ___________  |
| |      | |           |  |      | |           |  |      | |           | |
| |Longer| |Even longer|  |Longer| |Even longer|  |Longer| |Even longer| |
| |______| |___________|  |______| |___________|  |______| |___________| |
|  _____   _____    _____   _____    _____   _____                       |
| |     | |     |  |     | |     |  |     | |     |                      |
| |ValA1| |ValA2|  |ValB1| |ValB2|  |ValC1| |ValC2|                      |
| |_____| |_____|  |_____| |_____|  |_____| |_____|                      |
| more rows...                                                           |
|________________________________________________________________________|

Поскольку конечным результатом отчета является HTML <table> Полагаю, я надеялся, что самое широкое значение поля будет определять ширину этого <td>. Но Reports использует colspan, чтобы сделать строки уникальными ...

Итак, в конце концов мне пришлось установить поля с фиксированной шириной по горизонтали и расширить по вертикали. Ширина установлена ​​на «разумный», так как максимальная ширина сделает таблицу уродливой и трудной для чтения. Я также добавил «перевод» длинных названий городов в более «дружественные по отношению к расколу», например из Стокгольма в Стокгольм (или, может быть, расколется как Стокгольм).

0 голосов
/ 04 июня 2019

UNION, как вы сказали, может быть одним из вариантов.

Еще один способ сделать это в редакторе макета бумаги: для обоих повторяющихся кадров разверните все поля до максимума (чтобы они занимали всю ширину бумаги) и установите для их горизонтальная эластичность значение «Фиксированный». (чтобы не расширяться вправо, но они также не будут уменьшаться ).

Возможно, вы захотите оставить вертикальная эластичность на "Переменная", на тот случай, если какое-то значение длиннее, чем позволяет ширина поля.

Рамки 'по горизонтали также будут "Фиксированными" (как они, вероятно, уже есть), но будут вертикально "Переменными".

...