У меня разные столбцы, поэтому я хочу отображать динамические столбцы в одном сообщении яшмы. Но главное - столбцы меняются.
Есть ли возможность писать java-код в отчетах о яшме?
Пожалуйста, помогите мне преодолеть эту проблему.
Да.. вы можете использовать Dynamic Jasper для этого. Вы можете добавлять динамические столбцы и задавать все параметры для конфигурации, что хотите. Это легко и просто. Здесь я даю несколько полезных имен классов, с помощью которых вы можете добиться того же.
Вам не нужно делать это в java-кодах.
Вы можете сделать это в файле jrxml.
например: вам нужно отобразить 2 столбца в одном файле jrxml на основе условия.
два поля - CASH RECIEPT, CARD RECIEPT.
Поместите их в ту же самую позицию в файле jrxml, где с разницей сайтов, чтобы избежать ошибок (красная отмеченная ошибка).
сначала возьмите ДЕНЕЖНЫЕ СРЕДСТВА
щелкните правой кнопкой мыши по нему и просмотрите его свойства.
затем найдите Print When Expression (это место, где вы можете применить условие, которое должно быть истинным для печати столбца.) и перейти к нему.
добавьте свое выражение (условие.) его что-то вроде этого $ F {card}.equals("0")? true: false, это должно быть изменено в соответствии с вашим состоянием. ЗДЕСЬ, ЧТО ПРОИСХОДИТ, КОГДА ЗНАЧЕНИЕ поля карты равно нулю в файле jrxml, он распечатает столбец CASH RECEIPT
Сделайте то же самое с CARD RECEIPT.
print when expression is as follow
$F{card}.equals( "1" ) ? true : false
What will do this is ,CARD RECEIPT will be Printed when card field is hold the value 1.