Jump to content

Raphaël Peguet

Jaspersoft Staff
  • Posts

    77
  • Joined

  • Last visited

  • Days Won

    2

Raphaël Peguet last won the day on March 21

Raphaël Peguet had the most liked content!

2 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Raphaël Peguet's Achievements

  1. I'm not aware of a specific document, however, I'll list the Third-Party components used in JSS 7: JasperSoft Studio Community Edition 7.0 incorporates several third-party libraries and components, including: Eclipse Platform: JasperSoft Studio 7.0.1 is based on Eclipse 4.32 platform Java Libraries: Jetty Library (version 12.0.9) JFreeChart Library (version 1.5.5) Spring Library (version 5.3.39) H2 driver (version 2.3.232) JasperReports Library: The software fully supports JasperReports Library 6.21
  2. Parameters have unique names and often need different data types, default values, etc... If however you need to create multiple parameters very similar in their definition I'd recommend that you create one and then copy/paste it in Parameters of the relevant dataset through the UI. Alternatively you may edit the XML source directly, creating parameters directly in the source code is very simple when you know the syntax. <parameter name="start_date" class="java.lang.String" evaluationTime="Early"> <property name="net.sf.jasperreports.http.data.url.parameter" value="start_date"/> <defaultValueExpression><![CDATA["2024-02-20T00:00:00+01:00"]]></defaultValueExpression> </parameter>
  3. I've done some test and running the file attached with the lastest version of JSS did the job as expected. (The sample uses the sugar_crm database which comes with the Jasperserver trial) I'm attaching a modified version of the report with its jrds data file so there is no need for the server sample DB. In this new sample I've added a second level of grouped data (shipcity) which helps better understand how this workaround works. Since a table or a sub-report expand and increase the height of the band they belong to, then any other other element in the same band with Stretch Type = ContainerHeight will grow accordingly. This seemingly makes merged row in the column printed by the text field outside the table (or sub-report in my sample). Note: In the attached sample all queries should query the same data sorted in the same order so that the data is aligned correctly with the rows in the table. Note2: In Jaspersoft Studio, make sure to pick the tablemergedrows.jrds (attached) when clicking on the database symbol by the data adaptor dropdown for the Jaspersoft Preview to work. tablemergedrows.jrds tablemergedrows.jrxml tablemergerows_subreport.jrxml
  4. Please try the attached report which should run fine against any relational datasource. I used the Filter Expression in the Query Dialog to force the No Data Band to be displayed. NoDataBand_sampleReport.jrxml
  5. You are right, this is probably due to the recent upgrade to the platform. I've updated the 5 links I found were broken. iReports is now called Jaspersoft Studio so I changed that as well. Please let us know if you find other broken links
  6. The property you need is "Print When Expression", it's described in the article at the top of this page
  7. JRL the reporting engine will loop through the records from the datasource (after eventually sorting and filtering them) and one the value of the field defining the group changes it will start a new group to be printed. With the values of the record being evaluated all parameters and variable will be recalculated depending on the evaluation time property value you set and these can then be printed anywhere on the group including the group footer. Please share a sample template with sample data if that's not what you experience.
  8. JasperReports variables are all available globally within their dataset. All report template have a default dataset with fields, parameters and variable and any sub-datasets will have their own variables.
  9. Challenge Many users need to display SVG images stored in a database within their JasperReports. This can be challenging because SVG data is typically stored as text, and needs to be properly rendered as an image in the report. There are multiple ways to store SVG data in a database here we use an xml representation of the svg. Solution Overview We'll first create a simple PostgreSQL table to store SVG data as XML text, then build a JasperReports template that retrieves and displays this SVG image in a report. This solution allows for efficient storage of vector graphics in the database and high-quality rendering in reports. Database Setup First, create a table in PostgreSQL to store the SVG data as XML text: sql CREATE TABLE IF NOT EXISTS public.svg_images ( "ID" integer NOT NULL DEFAULT nextval('"svg_images_ID_seq"'::regclass), svg_data text COLLATE pg_catalog."default" NOT NULL, CONSTRAINT svg_images_pkey PRIMARY KEY ("ID") ) Next we’ll insert a sample SVG image in XML format into our new table. sql INSERT INTO public.svg_images(svg_data) VALUES ('<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /> </svg>'); This inserts a simple red circle as an SVG image in XML format. Note on SVG Storage Formats For the purposes of this tutorial and for simplicity, we're using the XML format to store SVG data as text since this is a widely used approach. The expression of the image in the template will differ whether you’re using JSON or binary formats instead but it should still work. Building the Template Here are the key components of the JRXML template (full jrxml file attached at the bottom of the article): Query: Retrieve all SVG images from the table: xml <queryString language="SQL"> <![CDATA[SELECT * FROM svg_images]]> </queryString> Fields: Define fields for the ID and SVG data: xml <field name="ID" class="java.lang.Integer"/> <field name="svg_data" class="java.lang.String"/> Image Element: Use an image element in the detail band to display the SVG: xml <detail> <band height="125" splitType="Stretch"> <image> <reportElement x="120" y="0" width="310" height="125" uuid="ad8e8219-0eef-44f9-b0c6-6a079a34ec93"/> <imageExpression><![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstance($F{svg_data}.getBytes("UTF-8"))]]></imageExpression> </image> </band> </detail> This will print all records from the svg_images table. The crucial part is the imageExpression. It uses BatikRenderer to render the SVG data retrieved from the database. The output should look like this: PrintSVG.jrxml
  10. Jaspersoft stopped supporting the Eclipse plugin earlier this year. Jaspersoft Studio standalone community edition is available at https://community.jaspersoft.com/download-jaspersoft/community-edition/
  11. Yes this is possible although simplest is using Jaspersoft Studio desktop. If the REST API respond in JSON format, Create a JSON data adapter with the REST URL instead or the file destination and ask to have the query defined in the report template. Then in the report template, you may configure whether you GET or POST and any values (static or dynamic) that can be passed as request Parameters or in the request Headers.
  12. Hey both, This is likely a JVM error, please try again with JRE v. 8
  13. Continuing our discussion under the article here since you shared the sample, maybe you're facing a defect here. I need to test it locally. Which JRL or JSS version do you use?
  14. Have you tried setting the 'No Data Type' parameter to "No Data Section"? Please share the report template in a new forum topic with your question if the error persists.
×
×
  • Create New...