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

C-Box

Members
  • Posts

    910
  • 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

Everything posted by C-Box

  1. just take a look into the logfile of iReport and post the exception. I guess there are some batik barcodes or anything like this, that causes the error when parsing the design. The logfile is located in your local user directory. (e.g.) "C:Usersc-box.ireport5.6.0varlogmessages.log" hth + regards C-Box
  2. So I think you could actually use a crosstab. This is stretching automatically to the right depending on the results of your query. Otherwise you could also use the fill direction "horizontal" instread of default "vertical" and use a multi column report. So that each result would be printed from left to right. just give it a try hth + regards C-Box
  3. Not sure, but you could try to place a SubReport below your last detail (e.g. dummy group footer or summary) and set its attribute "RunToBottom" to "true". In this "Dummy SubReport" you just place a line into the background with attribute "stretchType" to "StretchRelativeToBandHeight". So not for sure... but worth to give it a try! ;-) Hth + regards C-Box
  4. a typical conditional expression could look like this: $F{vendor}.equals("Microsoft")[/code]this is plain java and means if the content of your database field/column "vendor" is "Microsoft" then it returns true otherwise false. So you just set the background color of the style to red oder something else & check "opaque" (otherwise the background color isn't rendered) and then you set the style to all the textfields that should be colored by the vendor. hth + regards C-Box
  5. just use the report property "WhenNoData" and set it to "NoDataSection". In this special band you can place a static text with "No records found" or anything like this. hth + regards C-Box
  6. To exclude the cells from your AutoFilter one possible way is indeed to exclude the whole band ... you just asked us, if such a way is possible!??!!? Anyway... ..so perhaps you could try to ignore the "stupid" AutoFilter Feature of excel but use an own filter of the correct row range (so except the last row) . Where should excel know if the last row should be excluded? You could try to set a SubTotal-formula to your sum field as additinal xls export properties in page footer and look, if this is being passed correctly to excel. As far as I know the SubTotals formula is excluded by the AutoFilter (see here: https://www.extendoffice.com/documents/excel/4055-excel-filter-exclude-bottom-row.html) hth + regards C-Box
  7. if you don't set "RemoveLineWhenBlank" to the frame in your first section, then the Frame should actually stay as tall, as defined in layout, isn't it!??! Otherwise you could also set an "invisible" (white) line/rectangle somewhere to the left/right border, just to keep the defined band in it's defined height for sure. hth + regards C-Box
  8. perhaps just an idea: Just render your filled results from main query (e.g.) 10 records in the main report and then place a SubReport into a following band (e.g. summary or a group footer) with a DataSourceExpression like this: new JREmptyDataSource(33 - $V{REPORT_COUNT}) where $V{REPORT_COUNT} is the current record number consumed by the main report. in your SubReport layout you could then easily generate empty lines/borders whatever to simulate a kind of "prefilled formular" with just partly filled rows. Of course you should consider, what happens, if you have more than 33 records in your main query returned.... so perhaps you should then make a Rest division by 33 or whatever else. hth + regards C-Box
  9. Not sure if I understood correct... but in general: how should the second subreport know what eventually the first subreport has already printed?!? That's not possible with the simple PrintRepeatedValue flag. Perhaps you could described more in detail what data are common and when they should surrpressed. E.g. perhaps you could pass a flag to the second subreport for filtering duplicate values out? Perhaps you could modify your sql-query already to exlude results from the first subreport.... so many potential solutions, if the problem is really known. :-) So perhaps just post some screenshots to understand the problem. hth + regards C-Box
  10. Hi, just take a look here... https://community.jaspersoft.com/wiki/how-can-i-suppress-page-headers-and-footers-when-exporting-xls there is described, how to exclude some bands for xls(x) exporting hth + regards C-Box
  11. You could also use a Conditional Style with just an expression like $V{REPORT_COUNT} % 2 == 0 to set another background color to your textfields. (be aware, not to define a separate background colör at textfield level itself just at the style level!) Then you wont need a extra table component. hth + regards C-Box
  12. That's easy per Jasper API ....just 1.) load the jrxml and compile it to an JasperReport Object (or load directly the .jasper file instead) , 2.) pass your connection and parameter to the FillManager and get an JRPrintObject out of the loaded template/report 3.) export the resulting JRPrint to a pdf-file take a look into the samples provided in full JasperReports Project download zip file. hth + regards C-Box
  13. Check the PrintOrder in your jrxml... the former designer "iReport" always made it to horizontal, when the width was larger than the height. Some printers decide on the orientation how to rotate the output. You can change it in the jrxml directly (not via designer) to "vertical" and try if the printer is rotating it 90° Not sure whether the new JasperSoftStudio does such nonsense, but just give it a try hth + regards C-Box
  14. well I just used Arial_Unicode for different languages/encodings and it was ok for our customers in international reports... but perhaps you could also take a look here: https://www.monotype.com/resources/case-studies/more-than-800-languages-in-a-single-typeface-creating-noto-for-google/ sounds as this supports even more. hth + regards C-Box
  15. Not sure whether the DejaVuSans includes all glyphs... but There is a laaaaaarge Arial_Unicode.ttf that includes many many languages... perhaps you could try this one. Also be aware of the Pdf-Encoding... normally you set it to CP1252 or something else corresponding to the target language. I guess you should change this to IDENTITY-H. not for sure, but worth giving it a try hth + regards C-Box
  16. Uiii.... complex structure with nested frames. - not nice but sometimes neccessary. I see that you use "Immediate" for the splitting type... so have you already tried to change this to "split" instead? Also you should check the "RemoveLineWhenBlank" at the frame element that has a PrintWhenExpression, so that the space could be reused if the whole area is surpressed. Otherwise I would also advice using several detail bands instead such a "All-In-One" logic... if the frames should not be kept together to one page, there shouldn't be a problem using multiple detail bands. Also the order in the Report inspector should be corresponding to the logical y-order of printing the frames... so you should order it from top to down, so that the engine can evaluate the printWhenExpressions in the correct order. Mixing up the order can cause strange effects - this is what I've experienced in older (up to 5.5.1) Versions of JasperReports. hth + regards C-Box
  17. ??? When the detail band increases, it's mostly because of "self stretching" fields on it's contents (StretchWithOverflow=true) or because of a SubReport/ListElement that has dynamic content, so the parent detail must grow. So not sure what you want to reach or what's the problem!??! You can adjust the split behaviour on a band... so default is "stretch", what means, that a detail can span to another page, if the remaining space is not enough... "prevent" means, that the whole detail is moved to next page, if the remaining space is not enough. Immediate, is more a mix of both... I've never understood the correct logic when it should be kept together or not when set to "immediate". I guess the splitting type "prevent" could be your solution. Otherwise post an sample/screenshot, what the real problem is. hth + regards C-Box
  18. Okay it was just a spelling error in your initial post... "jasperreports-javaflow-3.7.6.jar" ... :-) So this is a version of the library that doesn't use Threads for rendering SubReports.... this is important for EJB application server usage, as be definition the application should not start new threads by itself within a deployed EJP context. (so just as far as I know, we used that version in JBoss 4.x some years ago, but we did not have any performance issues with that, but also used normal oracle java versions) But I doubt, that this is the cause of your slowness.... updating to a newer version of JasperReport could help... just give it a try. 3.7.6 is a bit very old fashioned. Why do you switch to Open JDK7 actually? hth + regards C-Box
  19. Hi Philipp, I would use a Group per (primary) ID at your MainReport level and set the "StartOnNewPage" flag. So each "MainReport-Record" would start on a new page.... all SubRecords rendered by the SubReport(s) will consume seval pages, depending of the amount of SubRecords... if they finished, the MainReport will iterate to the next MainRecord and because of the grouping a new (main)page will start. hth + regards from Dresden C-Box
  20. Not sure...as I don't know phy syntax... but it seems that your array1 is an array of Strings... your array2 is also an array of Strings..,. and now you put two arrays into your arrayList.... so it could be that your arrayList now contains two arrays inside and not only the strings from array1 and array2 ?!?!? But as I said... not sure what in php the add Method actually does. (perhaps it adds all entries from array1/array2... but perhaps it just adds the object itself!??!) Also you use a FIELD debit... but you just pass a PARAMETER with that name... your JRBeanCollectionDataSource is just an array of Strings... so it doesn't contain any debit field.... if you want to access the entries, you must use the built-in field named "_THIS" for the arraylist entries. Besides that, why do you pass the JRBeancollectionDatasource as your main report datasource AND also as an parameter for your table component? That's not a good idea as the report itself iterates through the main report datasource and also the tablecomponent would iterate through the same datasource?!?! hth + regards C-Box
  21. What should be a "jasperreports-javaslow-3.7.6.jar" ???? Is this just a rename of the orginal jasperReports library 3.7.6 by JasperSoft vendor because it's slow performance or is it a customized version of the library by someone else with changed code?!? regards C-Box
  22. Have you already tried to exlude the whole (last)PageFooter band for your csv export: There are some properties for exporting, that you should set at report level in your design. net.sf.jasperreports.export.cvs.exclude.origin.band.1=pageFooternet.sf.jasperreports.export.cvs.exclude.origin.band.2=lastPageFooter[/code]You could also set the "IgnorePagignation" flag to true, if you just want to get one fullfilled csv list of your data and no "printable" report. not tried but could work hth + regards C-Box
  23. You could place a subreport instead a TableComponent below your first row and pass the (current) values from ColA and ColB as SubReportParameter. The DataSourceExpression could be your splitting expression you already wrote successfully. In your SubReport design you now repeat the "fixed" parameters passed for colA and colB from outside and use the splitted field values from colC and colD. So the Table should be continued by the SubReport by the dynamic splitting columnsC and columnsD. of course not tried but should work hth + regards C-Box
  24. Then you should not use an JREmptyDataSource of course but instead a JRBeanCollectionDataSource from your ArrayList and use the "_THIS" as FieldName for the entries. so the Datasource must be defined like this (sorry I just know how to define in plain java, not in php). new JRBeanCollectionDataSource(yourArrayListOfTypeString)[/code]and the Field in jrxml must be named "_THIS" and type of java.lang.String that you later can place somewhere in your detail band. works fine for some of my old reports at some customers :-) hth + regards C-Box
  25. Have you already tried to change the java.util.Date parameter to java.sql.TimeStamp parameters??? Perhaps your jdbc driver has problems with casting the correct dates to your database!?!? hth + regards C-Box
×
×
  • Create New...