BIRT auto size grid to match the table - eclipse

I am trying to create a bill notice with payment stub underneath as a BIRT report.
My bill line items can be more than one. The report uses a gird layout with the bill line item information in a table.
I would like to
1 . get the table and the enclosing grid to expand as much as possible, if needed (without affecting the tear off stub position)
and if there is more line items it should spill over to the next page.
So, the first page layout is different from the next page(s) layout. Has anyone done something similar.
Please let me know how to acheive this in BIRT.

As long as you use relative sizing (percentages) instead of fixed dimensions in the "size" property (under the "General" properties) you should be fine.

Related

How to edit rowSpan of cell of report in BIRT?

I created a report (.rptdesign) in eclipse/BIRT and added a Grid and some rows in it. I want to change the rowSpan of 1st cell in 1st row to 3. But in properties window, the property is 1:inherited and won't allow me to edit the value. I tried different combinations of width and height (in, %..) and other properties but can't figure out this behavior.
I spent hours and there is barely any resource available online or on official site. Any help is appreciated. Thanks.
when you create a grid with rows- all cells are equal in width. Now what you can do is merge the cells together that will create the rowspan/colspan like this -
Please click on image to see steps
After merging it will look like this -
You can get more information here : eclipse help
You just mark several cells in the layout editor, then "merge cells" in the context menu. To split a block of merged cells again, use "split cells" in the context menu.

iText7 How do I know Table flows to next page like ITextshap Column.HasMoretext?

I have a form where I have to place some fixed data on top and bottom with a variable table in between. If table does not fit on first page, there should be created more pages as needed to acomodate Table.
But for page 2, 3, 4... I still have to print top & bottom, but this time a short version of whats was placed on page 1.
In ItextSharp5 with ColumnText.HasMoreText = true, I know when a new page is needed and can make a new page with proper top & bottom data before drop remaining table.
So how can I achieve same behaviour with iText7?
I did not found a way to know when a table needs some more room
After some reading, found a starting point at Chapter 2: Adding content to a Canvas or a Document
on 3th block of code.

How to rearrange or remove contents under #BODY# in oracle apex

So basically I'm new to oracle apex, i have created a blank page in an mobile application in apex and then created a static region having a select list.
Noticed that the select list item is to the right of the screen, i know i can use css to move it to the required spot, but when I did a page inspection, noticed that #BODY# had other divs as well and wanted to know whether the divs or spans under #BODY# can be edited, if so from where and how?
OK then, a Select List item it is.
Select it
in its properties (on the right hand side of the screen), you'll see the Layout section
in there, there are some properties you might find interesting
column - set to "Automatic" by default, and yes - it positions the item "right" on the screen (I don't know why Apex authors decided to do it that way; I'd be happier if it was "left"), somewhere to the 4th of 5th column. What does that column mean? When you run the page, there's the bottom toolbar available to developers. In version 5.x, there's the option (I can't remember its name; most probably it is "Show layout columns") which enables you to show the grid - you'll see vertical "lines" (columns) and see where's each of your items positioned. On Apex 18.1 (available at apex.oracle.com), you'd click "Page info" and select "Show layout columns".
so, if you want to move it left, set the "Column" property to 1 (1st column on the screen)
modifying the "Column" property might require adjusting two additional properties: "Column span" and "Label column span".
I suggest you try to set those properties to different values and see what happens. Apex will inform you if you set something irregular.

stretch a textField to a max height in jasper reports

I think this is more of a general issue. I would like to use a textfield that gets dynamic data and doesn't stretch more than a given max height. For instance, I have a textfield that, if it gets text that fits in one line, the textfield will be one line height, and i have other elements under it, that will move up with float positioning. Or, if I want a 3 line max height and if the text exceeds that space, then the rest will be trimmed.
I don't want to use java expressions to trim that text, as it is not always accurate. I am new to jasper and I am trying to know if there is any way to do this. I did a lot of searches, but maybe there is something that i missed, and i hope someone can help me. Thank you
I managed to solve this by extending net.sf.jasperreports.engine.fill.TextMeasurer and overriding initialize() method; also I had to extend net.sf.jasperreports.engine.util.AbstractTextMeasurerFactory and override the createMeasurer() method.
Now, whenever I want to have max # of lines, with no overflow, I add a property to that text field (e.g. maxLines) which is being passed to my custom TextMeasurerFactory. I hope this helped you.
We had a similar problem at work with JASPER Reports 4.5, where we had an invoice with a header and a table. We wanted the header to have dynamic height based on the lengths of certain fields (like address, partner name, etc,), but not more than a critical limit, otherwise the header will push the table and thus making a mess by splitting it across multiple pages. Also, the invoice shouldn't exceed 1 page.
We eventually had to move the header in the background section, where we also put a background for the table consisting of vertical lines (so it will extend to the end of an A4 page) and a white opaque square.
This way, if the header exceeds the max height it will go underneath the table's background, cropping the text. This was the desired effect we were looking for.
Sounds crazy, but it worked ...

iReport: how to hard fix a detail band's height, independent of it's content

I use iReport and I try to fix a detail band's height independently of its content. My problem is that if one of my text fields has more than one line, the band "grows" and because of this I get a second page.
So is there any possibility to hard fix the height of a detail band?
Try setting the stretch type for the text field to "No Stretch" and the split type (see the properties menu) for the detail band to "Prevent".
Since we could not find any direct options, We are doing this in an indirect method, having PLSQL Procedure for data fetching, different sub-datasets are used for filling fixed height detail areas, so each fixed datasets are filled with max.rows which it can accomodate (within sub procedures). Hope it helps someone.