|
|
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
Строю отчет на основе данных представленных в виде xml файла. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. В основном отчете вытаскиваю персон, а в подотчете надо добыть контакты. По отдельности и отчет и подотчет отражаются отлично, а вот в кобинации подотчет данные не отражает. Имя персоны передаю в подотчет как параметр успешно, а вот с datasource возникает проблема. Отчет основной: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. подотчет: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. Как же правильно сослаться на источник данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 11:13:10 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
pikehunter, наверное надо создать 2 источника с одинаковыми данными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 12:22:23 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
Если создать два источника данных в netbeans то непонятно как один из них подсунуть подотчету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 13:04:23 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:28:15 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
sanBez, Именно по тому рецепту и пробовал сделать. В той ветке последний пост мой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:33:47 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
pikehunter, Да я заметил :) Ты же нашел всю инфу, осталось только ее применить. А почему не поменял subDataSource("//root") на XPath запрос именно по потомкам как там указано? Типа subDataSource("//phone") Я так и не понял зачем в сабрепорте пытаешься заново поднять все от корня... Мне кажется тебе надо прочитать этот топик более внимательно. Вроде там аналогичный случай и у применивших решение оно работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:59:40 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
Это и удивляет, ситуация один в один. Пробовал в параметрах подотчета указать ((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/root/client/addressbook/person") а в запросе подотчета //person[./name/text()='$P{name}']/phone результат тот же - подотчет данные не показывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:20:37 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
pikehunterЭто и удивляет, ситуация один в один. Не совсем. В приведенных примерах там Enfant - потомки контекстного узла. По нему идет запрос //Enfant У вас все phone уже в текущем узле. Если подгонять под тот вариант, то ваш xml должен выглядеть как Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и тогда в subDataSource("//phones") - это потомки контекстного узла, а не как у вас от корня /root/.... - тут наверно ничего не вернет В вашем случае либо менять структуру документа, либо использовать xPath выражение в subDataSource, с использованием точки (context node). Посмотрите xPath запросы по этому поводу,я с ним давно не работал, забыл половину :) Может и прокатит. И кстати, вы заметили что они там никаких параметров в subreport не передают для фильтрации? Скорее всего потому что и не надо, работа в контексте текущего узла P.S. Доктор осматривает пациента: - Хорощо... хорошо... хорошо... - Что хорошо, доктор? - Хорошо что не у меня :) А я с завтрашнего дня в отпуске!!!!!!!!!!!! :) :D :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:46:00 |
|
||
|
jasperReport с использованием xml и подотчета
|
|||
|---|---|---|---|
|
#18+
sanBez, Спасибо, все получилось, действительно вопрос решается работой "исключительно" во вложенных нодах без всякой фильтрации по параметрам. Подняться из подотчета выше текущей ноды не получается и это накладывает определенные требования на структуру XML. Вообще было бы неплохо иметь возможность отклонировать источник данных для подотчетов... Счастливо отгулять отпуск! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 18:02:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37914109&tid=2131154]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
64ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
76ms |
get tp. blocked users: |
3ms |
| others: | 339ms |
| total: | 561ms |

| 0 / 0 |
