Таким образом, возникает проблема, когда вы используете несколько заголовков групп. Первый заголовок ведет себя как ожидаемый, упорядоченный по значению столбца A, только для уникальных значений. Второй заголовок, использующий значение столбца B, будет печататься в каждой строке, несмотря на то, что это неуникальные значения.
- Теоретически вы должны иметь возможность использовать ORDER BY:
ORDER BY ValueA, ValueB
чтобы правильно отобразить отчет, предполагая, что вы используете sql, plsql и т. д. Однако в моем случае этого не произошло, хотя для других это, похоже, работает.
- Используйте вложенные отчеты, чтобы прикрепить незначительные различия с помощью уникальных отчетов. Вы создаете корневой отчет с пустыми данными. Затем вы создаете уникальные отчеты, которые будут служить подотчетами. Наконец, вы используете элемент подотчета, чтобы связать значения с корневым отчетом. Хотя это хорошая работа и может привести к повторению кода.
- Хакерский способ, который я использовал, был следующим: смесь «Выражений печати при» с логическими логическими выражениями с двумя заголовками групп и заголовком столбца. Логические выражения:
$F{QUERY}.equals(Query1) && ($P{P_Typequery}.equalsIgnoreCase("QueryA") && $P{P_parameter} == null)
и
$F{QUERY}.equals(Query1) && ($P{P_Typequery}.equalsIgnoreCase("P_QueryA") && $P{P_parameter} != null)
с двумя заголовками групп и заголовком столбца. Заголовок столбца не будет повторяться для каждой строки, поэтому вы назначаете одно из логических выражений для его «печатать, когда», чтобы он не всегда печатался. Заголовок первой группы не будет повторяться для каждой строки и работает. Заголовок 2-й группы используется в тех случаях, когда вы ДЕЙСТВИТЕЛЬНО хотите, чтобы он повторялся для каждого уникального значения, поскольку он всегда печатается для каждой строки, и вы используете другое логическое значение для его «печатать, когда». Надеюсь, поможет
person
MasonTheStoneWorker
schedule
22.04.2020