首先,资源管理…
如果可以,您应该只打开与数据库的单个连接。确保在关闭应用程序之前将其关闭。连接过程可能会很昂贵,因此您只在确实必须这样做时才真正想要这样做。
You close your resources once you have finished with them. This is bestachieved by using a try-finally block…
private Connection con;protected void close() throws sqlException { if (con != null) {con.close(); }}protected Connection getConnection() throws ClassNotFoundException, sqlException { if (con == null) {Class.forName('sun.jdbc.odbc.JdbcOdbcDriver');String url = 'jdbc:odbc:*****';String user = '******';String pass = '******';Connection con = DriverManager.getConnection(url, user, pass); } return con;}private void search() throws Exception { Statement state = null; ResultSet rs = null; try {state = getConnection().createStatement();rs = state.executeQuery('SELECT '+ 'pIDNo AS ’Patient ID’,'+ 'pLName AS ’Last Name’,'+ 'pFName AS ’First Name’,'+ 'pMI AS ’M.I.’,'+ 'pSex AS ’Sex’,'+ 'pStatus AS ’Status’,'+ 'pTelNo AS ’Contact No.’,'+ 'pDocID AS ’Doctor ID’,'+ 'pAddr AS ’St. No.’,'+ 'pStreet AS ’St. Name’,'+ 'pBarangay AS ’Barangay’,'+ 'pCity AS ’City’,'+ ' pProvince AS ’Province’,'+ ' pLNameKIN AS ’Last Name’,'+ 'pFNameKIN AS ’First Name’,'+ 'pMIKIN AS ’M.I.’,'+ 'pRelationKIN AS ’Relation’,'+ 'pTotalDue AS ’Total Due’'+ ' FROM dbo.Patients');ResultSetMetaData rsMetadata = rs.getMetaData();int columns = rsMetadata.getColumnCount();DefaultTableModel dtm = new DefaultTableModel();Vector column_name = new Vector();Vector data_rows = new Vector();for (int i = 1; i < columns; i++) { column_name.addElement(rsMetadata.getColumnName(i));}dtm.setColumnIdentifiers(column_name);while (rs.next()) { data_rows = new Vector(); for (int j = 1; j < columns; j++) {data_rows.addElement(rs.getString(j)); } dtm.addRow(data_rows);}tblPatient.setModel(dtm); } finally {try { rs.close();} catch (Exception e) {}try { state.close();} catch (Exception e) {} }}
Now to the problem at hand…
It appears you have create two references to con. One as class field and oneas a method variable (in search).
You are then passing con to Jasper Reports, which I SUSPECT is null.Instead you should use the getConnection() as outlined above.
public void reportviewer() { try{String report = 'C:UserscleanfuelDocumentsNetBeansprojectsStringManipulationsrcstringmanipulationreport1.jrxml';JasperReport jasp_report = JasperCompileManager.compileReport(report);JasperPrint jasp_print = JasperFillManager.fillReport(jasp_report, null, getConnection());JasperViewer.viewReport(jasp_print); } catch (Exception e) {e.printstacktrace(); }}
A report can take some time to compile and fill. You should off load this workto a background thread so it doesn’t interfere with your UI (or make it looklike you application as hung).
The simplest solution would be to use a SwingWorker. It has functionality toresync the threads with the UI
public void reportviewer() { // disable any UI components you don’t want the user using while // the report generates... new ReportWorker().execute();}public class ReportWorker extends SwingWorker<JasperPrint, Void> { @Override protected JasperPrint doInBackground() throws Exception {String report = 'C:UserscleanfuelDocumentsNetBeansprojectsStringManipulationsrcstringmanipulationreport1.jrxml';JasperReport jasp_report = JasperCompileManager.compileReport(report);JasperPrint jasp_print = JasperFillManager.fillReport(jasp_report, null, getConnection());return jasp_print; } @Override protected void done() {try { JasperPrint jasp_print = get(); JasperViewer.viewReport(jasp_print);} catch (Exception exp) { exp.printstacktrace();}// Renable any UI components you disabled before the report run }}
Take a look at Concurrency inSwing for moredetails.
If you can pre-compile the report and load it (rather the loading the XML), itwill make the report process quicker.
解决方法我在寻找解决此问题的方法时遇到问题。运行它后,我的代码可以正常工作。它假定将我的sql数据库中的数据显示到jtable上,并且有一个按钮将触发显示jasper报告,但存在一点问题,它始终向我显示消息“文档无页面”。这是为什么?有人可以帮我解决我的问题吗?我做错什么了?
这是我的代码:
package stringmanipulation;import java.sql.*;import java.util.Vector;import javax.swing.table.DefaultTableModel;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;import net.sf.jasperreports.view.JasperViewer;import org.apache.log4j.ConsoleAppender;import org.apache.log4j.Logger;import org.apache.log4j.PatternLayout;public class r2xml extends javax.swing.JFrame { public r2xml() {initComponents(); }Connection con; private void search() throws Exception{Class.forName('sun.jdbc.odbc.JdbcOdbcDriver'); String url = 'jdbc:odbc:*****'; String user = '******'; String pass = '******'; Connection con = DriverManager.getConnection(url,user,pass); Statement state = con.createStatement(); ResultSet rs = state.executeQuery('SELECT ' + 'pIDNo AS ’Patient ID’,' + 'pLName AS ’Last Name’,' + 'pFName AS ’First Name’,' + 'pMI AS ’M.I.’,' + 'pSex AS ’Sex’,' + 'pStatus AS ’Status’,' + 'pTelNo AS ’Contact No.’,' + 'pDocID AS ’Doctor ID’,' + 'pAddr AS ’St. No.’,' + 'pStreet AS ’St. Name’,' + 'pBarangay AS ’Barangay’,' + 'pCity AS ’City’,' + ' pProvince AS ’Province’,' + ' pLNameKIN AS ’Last Name’,' + 'pFNameKIN AS ’First Name’,' + 'pMIKIN AS ’M.I.’,' + 'pRelationKIN AS ’Relation’,' + 'pTotalDue AS ’Total Due’' + ' FROM dbo.Patients'); ResultSetMetaData rsmetadata = rs.getMetaData(); int columns = rsmetadata.getColumnCount(); DefaultTableModel dtm = new DefaultTableModel(); Vector column_name = new Vector(); Vector data_rows = new Vector(); for (int i=1; i<columns;i++){column_name.addElement(rsmetadata.getColumnName(i)); } dtm.setColumnIdentifiers(column_name); while(rs.next()){data_rows = new Vector();for (int j=1; j<columns; j++){data_rows.addElement(rs.getString(j));}dtm.addRow(data_rows); } tblPatient.setModel(dtm); } public void reportviewer() {try{String report = 'C:UserscleanfuelDocumentsNetBeansProjectsStringManipulationsrcstringmanipulationreport1.jrxml';JasperReport jasp_report = JasperCompileManager.compileReport(report);JasperPrint jasp_print = JasperFillManager.fillReport(jasp_report,null,con);JasperViewer.viewReport(jasp_print);}catch (Exception e) {System.out.print(e);} } @SuppressWarnings('unchecked')public static void main(String args[]) {PatternLayout pl = new PatternLayout('[%-5p] %C.%M:%L: %m%n');ConsoleAppender appender = new ConsoleAppender(pl);Logger.getRootLogger().addAppender(appender);java.awt.EventQueue.invokeLater(new Runnable() { public void run() {new r2xml().setVisible(true); }}); }
这是XML报告:
<?xml version='1.0' encoding='UTF-8'?><jasperReport xmlns='http://jasperreports.sourceforge.net/jasperreports' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd' name='null' language='groovy' pageWidth='842' pageHeight='595' orientation='Landscape' columnWidth='802' leftMargin='20' rightMargin='20' topMargin='20' bottomMargin='20'> <property name='ireport.zoom' value='1.0'/> <property name='ireport.x' value='0'/> <property name='ireport.y' value='71'/> <style name='Title' forecolor='#FFFFFF' fontName='Times New Roman' fontSize='50' isBold='false' pdfFontName='Times-Bold'/> <style name='SubTitle' forecolor='#666666' fontName='Times New Roman' fontSize='18' isBold='false' pdfFontName='Times-Roman'/> <style name='Column header' forecolor='#666666' fontName='Times New Roman' fontSize='14' isBold='true' pdfFontName='Times-Roman'/> <style name='Detail' mode='Transparent' fontName='Times New Roman' pdfFontName='Times-Roman'/> <style name='Row' mode='Transparent' fontName='Times New Roman' pdfFontName='Times-Roman'><conditionalStyle> <conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 0]]></conditionExpression> <style mode='Opaque' backcolor='#F0EFEF'/></conditionalStyle> </style> <subDataset name='PieChartDataset'/> <queryString language='SQL'><![CDATA[SELECT Patients.'pIDNo' AS Patients_pIDNo,Patients.'pLName' AS Patients_pLName,Patients.'pFName' AS Patients_pFName,Patients.'pMI' AS Patients_pMI,Patients.'pSex' AS Patients_pSex,Patients.'pStatus' AS Patients_pStatus,Patients.'pTelNo' AS Patients_pTelNo,Patients.'pDocID' AS Patients_pDocID,Patients.'pAddr' AS Patients_pAddr,Patients.'pStreet' AS Patients_pStreet,Patients.'pBarangay' AS Patients_pBarangay,Patients.'pCity' AS Patients_pCity,Patients.'pProvince' AS Patients_pProvince,Patients.'pLNameKIN' AS Patients_pLNameKIN,Patients.'pFNameKIN' AS Patients_pFNameKIN,Patients.'pMIKIN' AS Patients_pMIKIN,Patients.'pRelationKIN' AS Patients_pRelationKIN,Patients.'pTotalDue' AS Patients_pTotalDueFROM 'dbo'.'Patients' Patients]]> </queryString> <field name='Patients_pIDNo' /> <field name='Patients_pLName' /> <field name='Patients_pFName' /> <field name='Patients_pMI' /> <field name='Patients_pSex' /> <field name='Patients_pStatus' /> <field name='Patients_pTelNo' /> <field name='Patients_pDocID' /> <field name='Patients_pAddr' /> <field name='Patients_pStreet' /> <field name='Patients_pBarangay' /> <field name='Patients_pCity' /> <field name='Patients_pProvince' /> <field name='Patients_pLNameKIN' /> <field name='Patients_pFNameKIN' /> <field name='Patients_pMIKIN' /> <field name='Patients_pRelationKIN' /> <field name='Patients_pTotalDue' /> <group name='Patients_pIDNo'><groupExpression><![CDATA[$F{Patients_pIDNo}]]></groupExpression><groupHeader> <band height='31'><frame> <reportElement mode='Opaque' x='72' y='7' forecolor='#B89F7D' backcolor='#70A9C6'/> <textField isStretchWithOverflow='true' isBlankWhenNull='true'><reportElement isPrintRepeatedValues='false' x='155' y='1' forecolor='#FFFFFF'/><textElement> <font fontName='Arial' isBold='false' pdfFontName='Helvetica'/></textElement><textFieldExpression><![CDATA[$F{Patients_pIDNo}]]></textFieldExpression> </textField></frame> </band></groupHeader><groupFooter> <band /></groupFooter> </group> <background><band splitType='Stretch'> <pie3DChart><chart isShowLegend='false' evaluationTime='Report'> <reportElement x='-18' y='406' /> <chartTitle/> <chartSubtitle/> <chartLegend/></chart><pieDataset> <dataset><datasetRun subDataset='PieChartDataset'> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(5)]]></dataSourceExpression></datasetRun> </dataset> <keyExpression><![CDATA[/* Replace with your key expression here */$V{REPORT_COUNT}]]></keyExpression> <valueExpression><![CDATA[new Double(200*Math.random()*5)]]></valueExpression></pieDataset><pie3DPlot> <plot backgroundAlpha='0.5' foregroundAlpha='0.8'><seriesColor seriesOrder='0' color='#3399FF'/><seriesColor seriesOrder='1' color='#00CCFF'/><seriesColor seriesOrder='2' color='#0066CC'/><seriesColor seriesOrder='3' color='#6699FF'/><seriesColor seriesOrder='4' color='#004A94'/><seriesColor seriesOrder='5' color='#00356A'/> </plot> <itemLabel color='#000000' backgroundColor='#FFFFFF'/></pie3DPlot> </pie3DChart> <image><reportElement x='-20' y='65' height='250'> <printWhenExpression><![CDATA[$V{PAGE_NUMBER} == 1]]></printWhenExpression></reportElement><imageExpression><![CDATA['flower1.png']]></imageExpression> </image> <image><reportElement x='-20' y='-20' height='250'> <printWhenExpression><![CDATA[$V{PAGE_NUMBER} > 1]]></printWhenExpression></reportElement><imageExpression><![CDATA['flower1.png']]></imageExpression> </image> <staticText><reportElement mode='Opaque' x='318' y='315' backcolor='#FFFFCC'> <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression></reportElement><box topPadding='4' leftPadding='4' bottomPadding='4' rightPadding='4'> <pen lineWidth='1.0' lineColor='#CC9900'/> <topPen lineWidth='1.0' lineColor='#CC9900'/> <leftPen lineWidth='1.0' lineColor='#CC9900'/> <bottomPen lineWidth='1.0' lineColor='#CC9900'/> <rightPen lineWidth='1.0' lineColor='#CC9900'/></box><textElement> <font size='12'/></textElement><text><![CDATA[Each chart is populated on each page.The 3 pie charts are currently using an empty datasource and the values aregenerated using a random generator.This rectangle element is not printed (see the print when expression of thiselement)]]></text> </staticText> <line><reportElement x='201' y='431' height='1'> <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression></reportElement><graphicElement> <pen lineWidth='3.0' lineStyle='Dotted' lineColor='#996600'/></graphicElement> </line> <staticText><reportElement mode='Opaque' x='275' y='-10' backcolor='#FFFFCC'> <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression></reportElement><box topPadding='4' leftPadding='4' bottomPadding='4' rightPadding='4'> <pen lineWidth='1.0' lineColor='#CC9900'/> <topPen lineWidth='1.0' lineColor='#CC9900'/> <leftPen lineWidth='1.0' lineColor='#CC9900'/> <bottomPen lineWidth='1.0' lineColor='#CC9900'/> <rightPen lineWidth='1.0' lineColor='#CC9900'/></box><textElement markup='none'> <font size='12'/></textElement><text><![CDATA[FlowersThere are two flowers,the first one is printed only starting from the second page,the other one only in the first page.]]></text> </staticText> <line><reportElement x='72' y='37' height='1'> <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression></reportElement><graphicElement> <pen lineWidth='3.0' lineStyle='Dotted' lineColor='#996600'/></graphicElement> </line></band> </background> <title><band splitType='Stretch'> <staticText><reportElement x='336' y='65' /><textElement textAlignment='Right'> <font size='22' isBold='false'/></textElement><text><![CDATA[Hospital ]]></text> </staticText> <frame><reportElement mode='Opaque' x='-20' y='0' forecolor='#006699' backcolor='#006699'/><staticText> <reportElement x='231' y='0' /> <textElement textAlignment='Right'><font size='54' isBold='false'/> </textElement> <text><![CDATA[Patient Form]]></text></staticText> </frame></band> </title> <pageHeader><band splitType='Stretch'/> </pageHeader> <columnHeader><band splitType='Stretch'> <frame><reportElement x='210' y='0' /><staticText> <reportElement positionType='Float' x='99' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pSex]]></text></staticText><staticText> <reportElement positionType='Float' x='132' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pStatus]]></text></staticText><staticText> <reportElement positionType='Float' x='165' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pTelNo]]></text></staticText><staticText> <reportElement positionType='Float' x='198' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pDocID]]></text></staticText><staticText> <reportElement positionType='Float' x='231' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pAddr]]></text></staticText><staticText> <reportElement positionType='Float' x='264' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pStreet]]></text></staticText><staticText> <reportElement positionType='Float' x='297' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pBarangay]]></text></staticText><staticText> <reportElement positionType='Float' x='330' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pCity]]></text></staticText><staticText> <reportElement positionType='Float' x='363' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pProvince]]></text></staticText><staticText> <reportElement positionType='Float' x='396' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pLNameKIN]]></text></staticText><staticText> <reportElement positionType='Float' x='429' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pFNameKIN]]></text></staticText><staticText> <reportElement positionType='Float' x='462' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pMIKIN]]></text></staticText><staticText> <reportElement positionType='Float' x='495' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pRelationKIN]]></text></staticText><staticText> <reportElement positionType='Float' x='528' y='0' forecolor='#000000'/> <textElement><font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/> </textElement> <text><![CDATA[Patients_pTotalDue]]></text></staticText> </frame> <staticText><reportElement positionType='Float' x='0' y='0' forecolor='#000000'/><textElement> <font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/></textElement><text><![CDATA[ Last Name]]></text> </staticText> <staticText><reportElement positionType='Float' x='72' y='0' forecolor='#000000'/><textElement> <font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/></textElement><text><![CDATA[First Name]]></text> </staticText> <staticText><reportElement positionType='Float' x='137' y='0' forecolor='#000000'/><textElement> <font fontName='Arial' size='12' isBold='true' pdfFontName='Helvetica'/></textElement><text><![CDATA[Middle Initial]]></text> </staticText></band> </columnHeader> <detail><band splitType='Stretch'> <line><reportElement positionType='FixRelativeToBottom' x='227' y='14' /> </line> <frame><reportElement x='226' y='0' /><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='99' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pSex}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='132' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pStatus}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='165' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pTelNo}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='198' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pDocID}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='231' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pAddr}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='264' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pStreet}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='297' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pBarangay}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='330' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pCity}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='363' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pProvince}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='396' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pLNameKIN}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='429' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pFNameKIN}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='462' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pMIKIN}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='495' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pRelationKIN}]]></textFieldExpression></textField><textField isStretchWithOverflow='true' isBlankWhenNull='true'> <reportElement positionType='Float' x='528' y='0' /> <textElement><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[$F{Patients_pTotalDue}]]></textFieldExpression></textField> </frame> <textField isStretchWithOverflow='true' isBlankWhenNull='true'><reportElement positionType='Float' x='4' y='0' /><textElement> <font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/></textElement><textFieldExpression><![CDATA[$F{Patients_pLName}]]></textFieldExpression> </textField> <textField isStretchWithOverflow='true' isBlankWhenNull='true'><reportElement positionType='Float' x='72' y='1' /><textElement> <font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/></textElement><textFieldExpression><![CDATA[$F{Patients_pFName}]]></textFieldExpression> </textField> <textField isStretchWithOverflow='true' isBlankWhenNull='true'><reportElement positionType='Float' x='137' y='1' /><textElement> <font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/></textElement><textFieldExpression><![CDATA[$F{Patients_pMI}]]></textFieldExpression> </textField></band> </detail> <columnFooter><band splitType='Stretch'> <line><reportElement positionType='FixRelativeToBottom' x='0' y='3' /><graphicElement> <pen lineWidth='0.5' lineColor='#999999'/></graphicElement> </line></band> </columnFooter> <pageFooter><band splitType='Stretch'> <frame><reportElement mode='Opaque' x='2' y='0' forecolor='#D0B48E' backcolor='#006699'/><textField evaluationTime='Report'> <reportElement x='753' y='0' forecolor='#FFFFFF'/> <textElement verticalAlignment='Middle'><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[' ' + $V{PAGE_NUMBER}]]></textFieldExpression></textField><textField> <reportElement x='673' y='0' forecolor='#FFFFFF'/> <textElement textAlignment='Right' verticalAlignment='Middle'><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA['Page '+$V{PAGE_NUMBER}+' of']]></textFieldExpression></textField><textField pattern='EEEEE dd MMMMM yyyy'> <reportElement x='2' y='0' forecolor='#FFFFFF'/> <textElement verticalAlignment='Middle'><font fontName='Arial' size='12' isBold='false' pdfFontName='Helvetica'/> </textElement> <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression></textField> </frame></band> </pageFooter> <summary><band splitType='Stretch'/> </summary></jasperReport>