Report Builder detail band does not grow dynamically...

Getting your data onto paper - or the web - Discussing the reports features of Base

Report Builder detail band does not grow dynamically...

Postby Bazsl1 » Sat Mar 19, 2016 10:27 pm

I have created my first report using Oracle Report Builder. One of the fields is a memo field that contains varying amounts of text for each record. How can I get the memo component on the report and the report's detail band to expand and contract dynamically so all of the text in the memo field for each record will be printed? Thanks.
OpenOffice 4.1.2 on Windows 10 Pro
Posts: 29
Joined: Mon Aug 03, 2015 8:07 pm

Re: Report Builder detail band does not grow dynamically...

Postby F3K Total » Sun Mar 20, 2016 6:55 pm

Oracle Report Builder has not this function. It's possible by code, but by far not easy, or with the native-Report Builder.
    MMove 1.0.6
  • Extension for easy, exact positioning of shapes, pictures, controls, frames ...
    my current system
  • Windows 7 OOo, AOO, LOLinux Mint OOo, AOO, LO
F3K Total
Posts: 895
Joined: Fri Dec 16, 2011 8:20 pm

Re: Report Builder detail band does not grow dynamically...

Postby longi » Mon Mar 28, 2016 7:32 pm

Something like that:
Code: Select all   Expand viewCollapse view
    ocontroller = Thisdatabasedocument.currentController
    if not ocontroller.isconnected then ocontroller.connect                                         ' We get the conection
    oreportdoc = Thisdatabasedocument.reportdocuments.getbyname("MYREPORT").open                    ' We open the report
    ' 3º We get the control of the texttable
    oTexttable = oreportdoc.Texttables(2)                                                           ' The  texttable in the report which has our data
    oreportdoc.GetCurrentController().Select(oTexttable)                                            ' We get the control of the texttable
    oCell=oTextTable.getCellByPosition(0,17)                                                        ' Cell in which we want to have more than one line (0 is the number of column, and 17 the number of row - which is to change in order of our needs -)
    oText = oCell.Text                                                                              ' Text inside the cell
    oCurs = oText.createTextCursor()                                                                ' We generate a cursor in the cell (Textcursor)
    oCurs.gotoEND(True)                                                                             ' We go to the end of the text, so all actions will be about all the text
    oTexttable.getRows().getByIndex(17).IsAutoHeight = True                                         ' The row has autoheight (The main goal of the request)
    LineSpace = oCurs.paralinespacing                                                               ' We can have more space beetwen lines
    LineSpace.height = 150                                                                          ' Interlineado de 1,5
    oCurs.paralinespacing = LineSpace                                                               ' We put the space in all the text selected by the cursor
Exit Sub

If you use non ORB reports, you have the posibility when you are designing the report, however you have a big trouble if you want a block of text (justified), wich is possible in ORB before finishing the design, but not without ORB (Openoffice).
If you are interested, it is possible, but macros are larger than enough and a bit complicated to follow.
You have several examples in :

Sorry!, explanations are in Spanish. Have a look on the third page of the form, where you have a group of macros to get reports like a mail merge tool.

OpenOffice 4.1.5 on Windows 10
LibreOffice 5.1 on Windows 7
LibreOffice 6.0.1 on Windows10
Posts: 94
Joined: Mon Jul 15, 2013 5:04 pm

Return to Reporting

Who is online

Users browsing this forum: No registered users and 2 guests