?? report.java
字號:
package com.personnel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import java.util.Map;
import java.util.HashMap;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Report {
private static final long serialVersionUID = 1L;
private DbManager dbManager = new DbManager(DbManager.MYSQL_DRIVER,
DbManager.MYSQL_URL, "root", "6581502",
DbManager.TYPE_SCROLL_SENSITIVE, DbManager.CONCUR_UPDATABLE);
ResultSet rs;
String sql = new String();
private javax.swing.JFrame parent = null;
public Report(javax.swing.JFrame parent) {
this.parent = parent;
}
public void showReport(String reportName, String query) {
this.rs = this.dbManager.executeQuery(query);
try {
if (this.rs.first()) {
this.rs.beforeFirst();
// 參數列表
Map parameters = new HashMap();
// 轉換結果集
JRResultSetDataSource jrDataSource = new JRResultSetDataSource(
this.rs);
try {
JasperCompileManager.compileReportToFile(reportName);
int index = reportName.lastIndexOf(".");
String asperFile = reportName.substring(0, index)+".jasper";
// 通過report.jasper報表模版輸出報表
JasperFillManager.fillReportToFile(asperFile,
parameters, jrDataSource);
String printFile = reportName.substring(0, index)+".jrprint";
// 打印預覽視圖,可以另存為PDF,HTML等格式文件
JasperViewer view = new JasperViewer(printFile, false,
false);
view.setSize(800, 800);
view.setLocation(parent.getX()+20, parent.getY()+20);
view.setVisible(true);
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null, "記錄為空");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "連接數據庫失敗");
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -