[英]How to display the data in Jasper report table passed from DefaultTableModel
我正在Java Swing中進行項目開發,並在Jasper Report中進行報告。
我已經使用Jasper Report設計了該報告,並且從Java Class調用了該報告。 現在,我想以TableModel的形式發送數據以在報表Table中設置值,但是Jasper報表表未按TableModel的形式顯示表數據。
甚至報告文件也無法通過JAR打開。 如果我正在創建jar,則“ Jasper報告”頁面將引發異常。
我想像使用Java代碼中的tableModelData一樣在Report Table中發送表模型數據。 我正在使用以下代碼。
package pmc;
import java.util.HashMap;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRTableModelDataSource;
import net.sf.jasperreports.view.JasperViewer;
public class SimpleReport1 {
DefaultTableModel tableModel;
public SimpleReport1() {
JasperPrint jasperPrint = null;
TableModelData();
try {
JasperCompileManager.compileReportToFile("src/reports/report1.jrxml");
jasperPrint = JasperFillManager.fillReport("src/reports/report1.jasper", new HashMap(),
new JRTableModelDataSource(tableModel));
JasperViewer jasperViewer = new JasperViewer(jasperPrint);
jasperViewer.setVisible(true);
} catch (JRException ex) {
ex.printStackTrace();
}}
private void TableModelData() {
String[] columnNames = {"Id", "Name", "Department", "Email"};
String[][] data = {
{"111", "G Conger", " Orthopaedic", "jim@wheremail.com"},
{"222", "A Date", "ENT", "adate@somemail.com"},
{"333", "R Linz", "Paedriatics", "rlinz@heremail.com"},
{"444", "V Sethi", "Nephrology", "vsethi@whomail.com"},
{"555", "K Rao", "Orthopaedics", "krao@whatmail.com"},
{"666", "V Santana", "Nephrology", "vsan@whenmail.com"},
{"777", "J Pollock", "Nephrology", "jpol@domail.com"},
{"888", "H David", "Nephrology", "hdavid@donemail.com"},
{"999", "P Patel", "Nephrology", "ppatel@gomail.com"},
{"101", "C Comer", "Nephrology", "ccomer@whymail.com"}
};
tableModel = new DefaultTableModel(data, columnNames);
}
public static void main(String[] args) {
new SimpleReport1();
}
}
更改此行:
JasperCompileManager.compileReportToFile("src/reports/report1.jrxml");
至:
JasperCompileManager.compileReportToFile("src/reports/report1.jrxml","src/reports/report1.jasper");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.