Advertisement
robertmarkbram

BIRT Report - Nested Data example using Data Set Parameters

Mar 11th, 2013
1,402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 10.50 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.23" id="1">
  3.     <property name="createdBy">Eclipse BIRT Designer Version 4.2.1.v201209101448 Build &lt;4.2.1.v20120912-1721></property>
  4.     <property name="units">in</property>
  5.     <property name="iconFile">/templates/blank_report.gif</property>
  6.     <property name="bidiLayoutOrientation">ltr</property>
  7.     <property name="imageDPI">96</property>
  8.     <data-sources>
  9.         <script-data-source name="Scripted Data Source" id="7"/>
  10.     </data-sources>
  11.     <data-sets>
  12.         <script-data-set name="Outer Data Set" id="8">
  13.             <list-property name="resultSetHints">
  14.                 <structure>
  15.                     <property name="position">1</property>
  16.                     <property name="name">key</property>
  17.                     <property name="dataType">string</property>
  18.                 </structure>
  19.                 <structure>
  20.                     <property name="position">2</property>
  21.                     <property name="name">valuesForInner</property>
  22.                     <property name="dataType">javaObject</property>
  23.                 </structure>
  24.             </list-property>
  25.             <list-property name="columnHints">
  26.                 <structure>
  27.                     <property name="columnName">key</property>
  28.                 </structure>
  29.                 <structure>
  30.                     <property name="columnName">valuesForInner</property>
  31.                 </structure>
  32.             </list-property>
  33.             <structure name="cachedMetaData">
  34.                 <list-property name="resultSet">
  35.                     <structure>
  36.                         <property name="position">1</property>
  37.                         <property name="name">key</property>
  38.                         <property name="dataType">string</property>
  39.                     </structure>
  40.                     <structure>
  41.                         <property name="position">2</property>
  42.                         <property name="name">valuesForInner</property>
  43.                         <property name="dataType">javaObject</property>
  44.                     </structure>
  45.                 </list-property>
  46.             </structure>
  47.             <property name="dataSource">Scripted Data Source</property>
  48.             <method name="open"><![CDATA[importPackage(Packages.java.util);
  49.  
  50. map = new HashMap();
  51. for (index = 0; index < 10; index++){
  52.     var list = new ArrayList();
  53.     for (index2 = 0; index2 < 5; index2++) {
  54.         list.add("value[" + index + "][" + index2 + "]");
  55.     }
  56.     map.put("key" + index, list);
  57. }
  58. keys = new ArrayList(map.keySet());
  59. Collections.sort(keys);
  60. keys = keys.iterator();]]></method>
  61.             <method name="fetch"><![CDATA[if (!keys.hasNext() ) {
  62.     return false;
  63. }
  64.  
  65. var key = keys.next();
  66. var value = map.get(key);
  67.  
  68. row["key"] = key;
  69. row["valuesForInner"] = value;
  70.  
  71. return true;]]></method>
  72.         </script-data-set>
  73.         <script-data-set name="Inner Data Set" id="9">
  74.             <list-property name="resultSetHints">
  75.                 <structure>
  76.                     <property name="position">1</property>
  77.                     <property name="name">value</property>
  78.                     <property name="dataType">string</property>
  79.                 </structure>
  80.             </list-property>
  81.             <list-property name="columnHints">
  82.                 <structure>
  83.                     <property name="columnName">value</property>
  84.                 </structure>
  85.             </list-property>
  86.             <list-property name="parameters">
  87.                 <structure>
  88.                     <property name="name">valuesFromOuter</property>
  89.                     <property name="dataType">string</property>
  90.                     <property name="position">1</property>
  91.                     <expression name="defaultValue" type="javascript">noval</expression>
  92.                     <property name="isInput">true</property>
  93.                     <property name="isOutput">false</property>
  94.                 </structure>
  95.             </list-property>
  96.             <structure name="cachedMetaData">
  97.                 <list-property name="resultSet">
  98.                     <structure>
  99.                         <property name="position">1</property>
  100.                         <property name="name">value</property>
  101.                         <property name="dataType">string</property>
  102.                     </structure>
  103.                 </list-property>
  104.             </structure>
  105.             <property name="dataSource">Scripted Data Source</property>
  106.             <method name="open"><![CDATA[values = inputParams["valuesFromOuter"].iterator();
  107.  
  108. ]]></method>
  109.             <method name="fetch"><![CDATA[if (!values.hasNext() ) {
  110.     return false;
  111. }
  112.  
  113. row["value"] = values.next();
  114.  
  115. return true;]]></method>
  116.         </script-data-set>
  117.     </data-sets>
  118.     <styles>
  119.         <style name="report" id="4">
  120.             <property name="fontFamily">sans-serif</property>
  121.             <property name="fontSize">10pt</property>
  122.         </style>
  123.         <style name="crosstab-cell" id="5">
  124.             <property name="borderBottomColor">#CCCCCC</property>
  125.             <property name="borderBottomStyle">solid</property>
  126.             <property name="borderBottomWidth">1pt</property>
  127.             <property name="borderLeftColor">#CCCCCC</property>
  128.             <property name="borderLeftStyle">solid</property>
  129.             <property name="borderLeftWidth">1pt</property>
  130.             <property name="borderRightColor">#CCCCCC</property>
  131.             <property name="borderRightStyle">solid</property>
  132.             <property name="borderRightWidth">1pt</property>
  133.             <property name="borderTopColor">#CCCCCC</property>
  134.             <property name="borderTopStyle">solid</property>
  135.             <property name="borderTopWidth">1pt</property>
  136.         </style>
  137.         <style name="crosstab" id="6">
  138.             <property name="borderBottomColor">#CCCCCC</property>
  139.             <property name="borderBottomStyle">solid</property>
  140.             <property name="borderBottomWidth">1pt</property>
  141.             <property name="borderLeftColor">#CCCCCC</property>
  142.             <property name="borderLeftStyle">solid</property>
  143.             <property name="borderLeftWidth">1pt</property>
  144.             <property name="borderRightColor">#CCCCCC</property>
  145.             <property name="borderRightStyle">solid</property>
  146.             <property name="borderRightWidth">1pt</property>
  147.             <property name="borderTopColor">#CCCCCC</property>
  148.             <property name="borderTopStyle">solid</property>
  149.             <property name="borderTopWidth">1pt</property>
  150.         </style>
  151.     </styles>
  152.     <page-setup>
  153.         <simple-master-page name="Simple MasterPage" id="2">
  154.             <page-footer>
  155.                 <text id="3">
  156.                     <property name="contentType">html</property>
  157.                     <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
  158.                 </text>
  159.             </page-footer>
  160.         </simple-master-page>
  161.     </page-setup>
  162.     <body>
  163.         <list name="OuterList" id="10">
  164.             <property name="dataSet">Outer Data Set</property>
  165.             <list-property name="boundDataColumns">
  166.                 <structure>
  167.                     <property name="name">key</property>
  168.                     <text-property name="displayName">key</text-property>
  169.                     <expression name="expression" type="javascript">dataSetRow["key"]</expression>
  170.                     <property name="dataType">string</property>
  171.                 </structure>
  172.                 <structure>
  173.                     <property name="name">valuesForInner</property>
  174.                     <text-property name="displayName">valuesForInner</text-property>
  175.                     <expression name="expression" type="javascript">dataSetRow["valuesForInner"]</expression>
  176.                     <property name="dataType">javaObject</property>
  177.                 </structure>
  178.             </list-property>
  179.             <detail>
  180.                 <grid id="11">
  181.                     <column id="12"/>
  182.                     <column id="13"/>
  183.                     <row id="14">
  184.                         <cell id="15">
  185.                             <data id="24">
  186.                                 <property name="resultSetColumn">key</property>
  187.                             </data>
  188.                         </cell>
  189.                         <cell id="16">
  190.                             <list name="InnerList" id="18">
  191.                                 <property name="dataSet">Inner Data Set</property>
  192.                                 <list-property name="paramBindings">
  193.                                     <structure>
  194.                                         <property name="paramName">valuesFromOuter</property>
  195.                                         <simple-property-list name="expression">
  196.                                             <value type="javascript">row["valuesForInner"]</value>
  197.                                         </simple-property-list>
  198.                                     </structure>
  199.                                 </list-property>
  200.                                 <list-property name="boundDataColumns">
  201.                                     <structure>
  202.                                         <property name="name">value</property>
  203.                                         <text-property name="displayName">value</text-property>
  204.                                         <expression name="expression" type="javascript">dataSetRow["value"]</expression>
  205.                                         <property name="dataType">string</property>
  206.                                     </structure>
  207.                                 </list-property>
  208.                                 <detail>
  209.                                     <grid id="19">
  210.                                         <column id="20"/>
  211.                                         <row id="21">
  212.                                             <cell id="22">
  213.                                                 <data id="25">
  214.                                                     <property name="resultSetColumn">value</property>
  215.                                                 </data>
  216.                                             </cell>
  217.                                         </row>
  218.                                     </grid>
  219.                                 </detail>
  220.                             </list>
  221.                         </cell>
  222.                     </row>
  223.                 </grid>
  224.             </detail>
  225.         </list>
  226.     </body>
  227. </report>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement