2013-02-10 3 views
0

Я искал в Интернете какое-то время, но не смог найти решение.Как создать отчет в формате Как это?

Я хочу использовать JasperReports для формата, как это:

-------------------------- 
Name: 
Address: 
Phone # 
------------------------- 
Domain  Total Price 
www.a.com  100 7500 
www.b.com  150 1500 
-------------------------- 
Type   Total Price 
Hosting  350 3500 
Surfing  175 2200 
-------------------------- 

Это так же, как если бы мне нужно несколько Подробности группы, я могу создать несколько Detail группы, но проблема, что у меня есть Я хочу показать заголовки столбцов только один раз, поэтому в случае (Домен, Всего, Цена) я могу сделать это, разместив их в колонке Column Header, но я не могу найти счастье для другого Подробнее группа (тип, Всего, Цена)

Любая помощь будет принята с благодарностью.

Update: Набор данных представлена ​​следующим образом:

Type Domain Total Count 
null www.a.com 200  30 
null www.b.com 100  95 
Hosting null  300  65 
Surfing null  100  25 
+1

так что вы пробовали до времени – Satya

+0

, пожалуйста, напишите макет вашего запроса. – MrsTang

+1

Спасибо, много ребята за отзывчивость. @ Satya: Я попытался сделать с дополнительными отчетами, но это не будет работать, поскольку основная проблема заключается в том, что я хочу, чтобы оба столбца заголовка каким-то образом, все остальное очень хорошо ... Итак, если быть более точным, Я просто хочу, чтобы оба заголовка столбца каким-то образом, и эти два заголовка столбцов не должны повторяться, как в группе «Подробности». ... Так что, пожалуйста, если это поможет, если у вас возникнут дополнительные вопросы, пожалуйста, спросите меня. Thanks Mr.777 – dosdebug

ответ

1

Учитывая структуру набора данных, как писал в комментарии:

  • создать отчет группы на основе этого выражения $F{domain} == null ? "Type" : "Domain"
  • в заголовке группы добавить текстовое поле с выражением $F{domain} == null ? "Type" : "Domain" и 2 статических текста для Всего и Цена.
  • в подробном полосе добавить эти текстовые поля с выражениями:
    • поле 1: $F{domain}==null ? $F{type} :$F{domain}
    • поле 2: $F{total}
    • поле 3: $F{count} * $F{total}
  • в сноске группы добавьте строку

Выполнено.

Предполагая, что есть 2 Результаты набора:

  • добавить для каждого набора результатов суб набора данных (т.е. datasetDomains, datesetTypes)
  • добавить (поддельный) группу отчетов (то есть с группой выражения null)
  • добавить в заголовок группы 3 статический текст поля, содержащие Домен, Всего, Цена
  • добавить ниже этих полей в Список элемент, содержащий поля datasetDomains.
  • добавить ниже списка строку, сконфигурировать ее с помощью Тип позицииFix Relative To Bottom.
  • добавить в сноске группы 3 статический текст поля, содержащие Тип, Всего, Цена
  • добавить ниже этих полей а Список элемент, содержащий поля datesetTypes.
  • добавить ниже списка строку, сконфигурировать ее с помощью Тип позицииFix Relative To Bottom.

enter image description here

Если ResultSet был структурирован как ниже, все было бы проще всего:

Type  Detail   Total Price 
----  ------   ----- ----- 
Domain www.a.com  100 7500 
Domain www.b.com  150 1500 
Type  Hosting  350 3500 
Type  Surfing  175 2200 

вы можете сделать следующее:

  • создать группу на основе type
  • использовать запрет заголовка группы d для меток (вместо полосы заголовка столбца).
+1

Большое спасибо за подробный ответ @MrsTang, но у меня есть только один набор данных, и это похоже; Тип, домен, Total, граф нуль www.a.com 200 30 нуль www.b.com 100 95 хостинг нуль 300 65 серфинг нуль 100 25 Таким образом, любая помощь с этим? Спасибо Mr.777 – dosdebug

+1

Я изменил вопрос и ответ, чтобы отразить данные, указанные в вашем комментарии. – MrsTang

+1

Несомненно, я дам эту попытку сегодня вечером и задаст вопросы, если бы у меня было, иначе отметит ее. Большое спасибо. – dosdebug

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