Как я могу заставить JasperReports печатать поле каждый раз, когда оно меняется? - PullRequest
0 голосов
/ 19 декабря 2010

Я использую iReport для создания отчетов на основе источника данных XML.

Мой исходный XML выглядит следующим образом:

<Data>
  <Master>
    <ProductId>12345</ProductId>
    <Sub>
      <Id>1</Id>
      <Type>Color</Type>
      <Value>Blue</Value>
    </Sub>
    <Sub>
      <Id>2</Id>
      <Type>Color</Type>
      <Value>Red</Value>
    </Sub>
    <Sub>
      <Id>3</Id>
      <Type>Size</Type>
      <Value>XL</Value>
    </Sub>
  </Master>
</Data>

У меня есть основной отчет и вложенный отчет.В моем основном отчете, в группе Подробно, у меня есть:

Product ID and Type

, которые относятся к полям:

Product ID --> Description (xPath) = ProductId
Type       --> Description (xPath) = Sub/Type

xPath для подотчета:

Master/Sub

Я хочу, чтобы в отчете выводилась строка «Идентификатор и тип продукта» КАЖДЫЙ РАЗ ИЗМЕНЕНИЯ «ТИПА».К сожалению, я не нашел способ, чтобы это сработало.Я создал группы и т. Д., Использовал выражения «Печатать когда», но вещь ОТКАЗЫВАЕТСЯ в работе.

Я работаю с iReports и JasperReports почти 2 года, и, несмотря на свою мощь, он плохо документирован ииспользует загадочную терминологию для множества переменных.

Итак, желаемый эффект в выводе, который я хочу:

 12345 Color
   Blue
   Red

 12345 Size
   XL

, но вместо этого я получаю следующее:

12345 Цвет Синий Красный XL

"Размер" пропущен полностью.Кто-нибудь может помочь?

1 Ответ

1 голос
/ 08 января 2011

Группировка по ProductId + Sub / Type должна дать вам именно то, что вы хотите. Вам нужно будет опубликовать еще несколько деталей, чтобы кто-то точно знал, где проблема.

...