Jump to content
We've recently updated our Privacy Statement, available here ×

teodanciu

Members
  • Posts

    4
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by teodanciu

  1. Hi ,

    It's been a while since then, but I recall:

    1) wrapping the JRBeanArrayDataSource  into a JRMapArrayDataSource, like this :

       Map[] masterData = new Map[1];

      masterData[0] = new HashMap();

      masterData[0].put("filterDataSource", filterDataSource);

      //I had other similar dataSources 

     and then created and passed the data source like this:   new JRMapArrayDataSource(masterData)

    2) The, in the jrxml file, I replaced the $P{REPORT_DATA_SOURCE} with $F{filterDataSource}. Something like this:

     

    <subDataset name="filterDataSet">

       <field name="territory" class="java.lang.String"/>

    </subDataset>

    <field name="filterDataSource" class="net.sf.jasperreports.engine.data.JRBeanArrayDataSource"/>


    and in the table: 

     

     

    <jr:table>

         <datasetRun subDataset="filterDataSet">

       <dataSourceExpression><![CDATA[$F{filterDataSource}]]></dataSourceExpression>

         </datasetRun>

         <jr:column width="90">

      <jr:columnHeader style="table_CH" height="30">

    <staticText>

                    <reportElement x="0" y="0" width="90" height="30"/>

             <text><![CDATA[Territory]]></text>

    </staticText>

               </jr:columnHeader>

      <jr:detailCell style="table_TD" height="20">

    <textField>

             <reportElement x="0" y="0" width="90" height="20"/>

       <textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression>             

    </textField>

      </jr:detailCell>

      </jr:column>

     </jr:table>

     


     

    I don't know whether this is the "orthodox" solution for this, but it worked for me. 

    Also, i posted this question on stackoverflow as well (http://stackoverflow.com/questions/4563176/jasper-table-component),

    and someone seems to have found the answer: 

     

    <datasetRun subDataset="TableDataset">     <datasetParameter name="REPORT_DATA_SOURCE">        <datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>     </datasetParameter> </datasetRun>[/code]

     

    But I haven't tested this (since it came a bit too late), but maybe it works for you. 

     

    Hope this helps! 

     

    Teo

     



    Post Edited by teodanciu at 07/10/2012 19:59
  2.  Is the same valid for $P{REPORT_DATASOURCE} ? I am having the same problem...no data is displayed, only a horizontal line. 

    I defined a subdataset with corresponding fields, and trying to use this subdataset in a table (with  <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>) 

     

    Is it necessary to use the $P{REPORT_DATASOURCE} in the master before passing it to the table? 

     

    Thanks!

     

     

  3.  Hello, 

     

    I'm trying to generate a report with a table which contains fields from a JRBeanArrayDataSource.

    However, I'm pretty stuck, because the table simply isn't displayed in the report (although no error is reported).

    This is what I want to obtain:

    Territory
    east
    west

    However, the report contains a simple horizontal line instead of the table. 

     

    I'm trying to use the jr:table as follows: 

    1) First, I'm using a JRBeanArrayDataSource constructed with the following array of objects: 

     

      public static Object[] createBeanCollection() {

            Object[] reportRows= new Object[2];

            reportRows[0] = new FilterData("east");  //public FilterData(String territory)

            reportRows[1] = new FilterData("wast");

            return reportRows;

        }

        where FilterData is a simple javabean, having a "territory" property.

     

     

    1) In my jrxml, I declared a subdataset containing the territory field. 

    <subDataset name="Table Dataset 1">

       <field name="territory" class="java.lang.String"/>

    </subDataset>

     

    ( I am not sure if this approach is ok. Does declaring the field "territory" in the subDataset enable me to use $F{territory} in jr:detailCell? Because this is what I'm doing...and it doesn't work).

    2) I'm trying to use this subDataset in a jr:table, as follows: (in the <detail> <band> section) 

     

     

    <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/componentshttp://jasperreports.sourceforge.net/xsd/components.xsd">

         <datasetRun subDataset="Table Dataset 1">

        <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>

         </datasetRun>

         <jr:column width="90">

      <jr:columnHeader style="table_CH" height="30">

    <staticText>

     

                     <reportElement x="0" y="0" width="90" height="30"/>

             <text><![CDATA[Territory]]></text>

    </staticText>

               </jr:columnHeader>

      <jr:detailCell style="table_TD" height="20">

    <textField>

     

             <reportElement x="0" y="0" width="90" height="20"/>

       <textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression>             

    </textField>

      </jr:detailCell>

      </jr:column>

     

    </jr:table>

     

     

    Do you have any idea on what I' m doing wrong here? 

    Thanks a lot! 

     

    Teo

    Code:
     public static Object[] createBeanCollection() {        Object[] reportRows= new Object[2];        reportRows[0] = new FilterData("east");  //public FilterData(String territory)        reportRows[1] = new FilterData("wast");        return reportRows;    }<subDataset name="Table Dataset 1">  	<field name="territory" class="java.lang.String"/></subDataset><jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">     <datasetRun subDataset="Table Dataset 1">	    <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>     </datasetRun>     <jr:column width="90">	  <jr:columnHeader style="table_CH" height="30">		<staticText>                	<reportElement x="0" y="0" width="90" height="30"/>	        	<text><![CDATA[Territory]]></text>		</staticText>           </jr:columnHeader>	  <jr:detailCell style="table_TD" height="20">		<textField>	        	<reportElement x="0" y="0" width="90" height="20"/>		  	<textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression>             		</textField>	  </jr:detailCell>  </jr:column></jr:table>
  4.  Hello, 

     

    I'm trying to generate a report with a table which contains data from the main data source.

    However, I'm pretty stuck, because the table simply isn't displayed in the report (although no error is reported).

    This is what I want to obtain:

    Territory
    east
    west

    However, the report contains a simple horizontal line instead of the table. 

     

    I'm trying to use the jr:table as follows: 

    1) First, I'm using a JRBeanArrayDataSource constructed with the following array of objects: 

     

      public static Object[] createBeanCollection() {

            Object[] reportRows= new Object[2];

            reportRows[0] = new FilterData("east");  //public FilterData(String territory)

            reportRows[1] = new FilterData("wast");

            return reportRows;

        }

        where FilterData is a simple javabean, having a "territory" property.

     

     

    1) In my jrxml, I declared a subdataset containing the territory field. 

    <subDataset name="Table Dataset 1">

       <field name="territory" class="java.lang.String"/>

    </subDataset>

     

    ( I am not sure if this approach is ok. Does declaring the field "territory" in the subDataset enable me to use $F{territory} in jr:detailCell? Because this is what I'm doing...and it doesn't work).

    2) I'm trying to use this subDataset in a jr:table, as follows: (in the <detail> <band> section) 

     

     

    <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">

         <datasetRun subDataset="Table Dataset 1">

        <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>

         </datasetRun>

         <jr:column width="90">

      <jr:columnHeader style="table_CH" height="30">

    <staticText>

     

                     <reportElement x="0" y="0" width="90" height="30"/>

             <text><![CDATA[Territory]]></text>

    </staticText>

               </jr:columnHeader>

      <jr:detailCell style="table_TD" height="20">

    <textField>

     

             <reportElement x="0" y="0" width="90" height="20"/>

       <textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression>             

    </textField>

      </jr:detailCell>

      </jr:column>

     

    </jr:table>

     

     

    Do you have any idea on what I' m doing wrong here? 

    Thanks a lot! 

     

    Teo

     

    Code:
     public static Object[] createBeanCollection() {        Object[] reportRows= new Object[2];        reportRows[0] = new FilterData("east");  //public FilterData(String territory)        reportRows[1] = new FilterData("wast");        return reportRows;    }<subDataset name="Table Dataset 1">  	<field name="territory" class="java.lang.String"/></subDataset><jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">     <datasetRun subDataset="Table Dataset 1">	    <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>     </datasetRun>     <jr:column width="90">	  <jr:columnHeader style="table_CH" height="30">		<staticText>                	<reportElement x="0" y="0" width="90" height="30"/>	        	<text><![CDATA[Territory]]></text>		</staticText>           </jr:columnHeader>	  <jr:detailCell style="table_TD" height="20">		<textField>	        	<reportElement x="0" y="0" width="90" height="20"/>		  	<textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression>             		</textField>	  </jr:detailCell>  </jr:column></jr:table>
×
×
  • Create New...