class BrowseJasperDataSource extends java.lang.Object implements JasperDataSource
Modifier and Type | Field and Description |
---|---|
private BrowseWidget |
browse
Browse which provides data for the report.
|
private int |
browseRowIndex
Index of the current browse row in
browseRows while iterating the data set. |
private BrowseRow[] |
browseRows
Browse rows which represent the report data.
|
private java.util.HashMap<java.lang.String,java.lang.Integer> |
fieldMapping
Jasper report field name to column number (1-based).
|
Constructor and Description |
---|
BrowseJasperDataSource(BrowseWidget browse)
Constructs a data source object for the given browse.
|
Modifier and Type | Method and Description |
---|---|
handle |
asProgressObject()
Get underlying 4GL browse object which provides data for the report.
|
private boolean |
buildFieldMapping(net.sf.jasperreports.engine.JasperReport report)
Build and store field mapping (Jasper report field names to 1-based browse column index) for
the given report.
|
java.lang.Object |
getFieldValue(net.sf.jasperreports.engine.JRField field)
Gets the field value for the current position.
|
net.sf.jasperreports.engine.JasperReport |
getReport(java.lang.String designTemplateFileName)
Get compiled Jasper report for the given report template design file.
|
boolean |
next()
Tries to position the cursor on the next element in the data source.
|
void |
reportFinished(boolean error)
Executed after report was filled from the data source.
|
boolean |
reportStarted(net.sf.jasperreports.engine.JasperReport report)
Executed before report is filled from the data source.
|
private final BrowseWidget browse
private java.util.HashMap<java.lang.String,java.lang.Integer> fieldMapping
private BrowseRow[] browseRows
private int browseRowIndex
browseRows
while iterating the data set.BrowseJasperDataSource(BrowseWidget browse)
browse
- Underlying browse.public net.sf.jasperreports.engine.JasperReport getReport(java.lang.String designTemplateFileName)
getReport
in interface JasperDataSource
designTemplateFileName
- File name of the Jasper report design template file.public boolean reportStarted(net.sf.jasperreports.engine.JasperReport report)
reportStarted
in interface JasperDataSource
report
- Jasper report to be filled.true
on success, false
if the data source cannot provide
data.public void reportFinished(boolean error)
reportFinished
in interface JasperDataSource
error
- true
if there were problems while getting data from the data source.
false
on success,public handle asProgressObject()
asProgressObject
in interface JasperDataSource
public boolean next() throws net.sf.jasperreports.engine.JRException
next
in interface net.sf.jasperreports.engine.JRDataSource
true
if there is a next record, false
otherwise.net.sf.jasperreports.engine.JRException
- if any error occurs while trying to move to the next element.public java.lang.Object getFieldValue(net.sf.jasperreports.engine.JRField field) throws net.sf.jasperreports.engine.JRException
getFieldValue
in interface net.sf.jasperreports.engine.JRDataSource
field
- Field to get.net.sf.jasperreports.engine.JRException
- if any error occurs while trying to get the field value.private boolean buildFieldMapping(net.sf.jasperreports.engine.JasperReport report)
report
- Jasper report for which we need to build a field mapping.true
on success.