Report Options
Under Construction
Contents
See Also
Overview
Report Sections are used to display tabular reports.
Lianja Web UI Demo
The 'Lianja Web UI Demo' (example_webapp2) is included in the Lianja App Builder distribution.
It has three full page Report Sections.
Report options
Double-click the Section header or click the cog icon to access the Section Attributes.
The Details section at the top of the attributes dialog holds the specification of the Database and Table.
Note that the report is based on a single table. However, this table can be a Virtual Table based on a SQL Select query to local or remote tables. See here for information on Virtual Tables.
The Report Section options are described here.
Report type
The Report type attribute specifies the report layout type. Currently, Tabular is supported.
Heading
The Heading attribute specifies text to use as the report heading.
The Heading attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportHeading.
Filter
The Filter attribute specifies a logical expression used to restrict which records will be included in the report.
The Filter attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportFilter.
e.g. the Clients over credit limit report filters on the available field being less than zero:
available<0
Fields
The Fields attribute specifies the fields to be included in the report. This should be a comma separated list of field names or expressions. * selects all fields in the table.
The Fields attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportFields.
Columns
The Columns attribute specifies the column positions for the selected fields in the report. This should be a comma separated list of numeric column positions.
The Columns attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportColumns.
Column headings
The Column headings attribute specifies the text to be used as the report column headings. This should be a comma separated list of text strings.
The Column headings attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportColumnHeadings or Lianja.getElementByID("page.section").reportHeadings.
Subtotals
The Subtotals attribute specifies the columns in the report to be sub-totalled. This should be a comma separated list of numeric column positions.
The Subtotals attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportSubTotals.
Group by
The Group by attribute specifies the name of the field or the expression that the report data will be grouped by for sub-totalling.
The Group by attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportGroupBy.
Hyperlinks
The Hyperlinks attribute specifies the field or fields that will be rendered as hyperlinks for searching. This should be a comma separated list of field names.
The Hyperlinks attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportHyperlink.
Show grid lines
The Show grid lines attribute specifies whether grid lines should be displayed for each row of the report (True | False). Grid lines are currently always shown.
The Show grid lines attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportGridLines.
Pagination
The Pagination attribute specifies whether the rows displayed should be paginated (True | False).
Pagination size
The Pagination size attribute specifies the number of rows to display per page.
Other options
The Other report options attribute specifies additional option=value pairs to be passed to the report. These should be specified as an ampersand (&) separated list.
Note: to access these options within library:/report.rsp, add a getParameter() for each additional option.
If 'Other options' is set to:
username={username()}&myparam=some text
Library:/report.rsp should include:
private username = getParameter("username","")
private myparam = getParameter("myparam","")
The Other options attribute can be queried or changed programmatically using Lianja.getElementByID("page.section").reportOtherOptions.
Notes on Client Support
Attribute | Notes |
---|---|
Report type | - |
Heading | Lianja.getElementByID("page.section").reportHeading is exposed on the Desktop client only (Lianja/VFP). |
Filter | Lianja.getElementByID("page.section").reportFilter is exposed on the Desktop client only (Lianja/VFP). |
Fields | Lianja.getElementByID("page.section").reportFields is exposed on the Desktop client only (Lianja/VFP). |
Columns | Lianja.getElementByID("page.section").reportColumns is exposed on the Desktop client only (Lianja/VFP). |
Column headings | Lianja.getElementByID("page.section").reportColumnHeadings and Lianja.getElementByID("page.section").reportHeadings are exposed on the Desktop client only (Lianja/VFP). |
Subtotals | Lianja.getElementByID("page.section").reportSubTotals is exposed on the Desktop client only (Lianja/VFP). |
Group by | Lianja.getElementByID("page.section").reportGroupBy is exposed on the Desktop client only (Lianja/VFP). |
Hyperlinks | Lianja.getElementByID("page.section").reportHyperlink is exposed on the Desktop client only (Lianja/VFP). |
Show grid lines | Lianja.getElementByID("page.section").reportGridLines is exposed on the Desktop client only (Lianja/VFP). |
Pagination | - |
Pagination size | - |
Other options | Lianja.getElementByID("page.section").reportOtherOptions is exposed on the Desktop client only (Lianja/VFP). |
report.rsp
The rsp Lianja Server Page script (report.rsp) used by the Report Section WebViewWidget is located in the Lianja Library directory.
Client | Location |
---|---|
App Builder | \lianja\library\ |
App Center | \lianja\cloudserver\tenants\public\library |
Web/Mobile Clients | \lianja\cloudserver\tenants\public\wwwroot\library |
It can be customized if required, but proceed with caution, as the modifications will apply to all Report Sections and will be overwritten by product upgrades.
Alternatively, report.rsp could be used as a template for your own rsp and specified as the URL/source for a WebView Section.
The Reports in the 'Lianja Demo' (lianjademo) App use quickreport.rsp in this way, e.g. the Report overdue payments report:
URL:quickreport.rsp?database=southwind&table=example&fields=*&groupby=state &filter=available<0&heading=Customer Credit List (over limit) &columns=2,4,3,5,6,7,8,9,10,11,12&subtotals=9,10,11&gridlines=true