gpt4 book ai didi

java - 将数据从 Jtable 传递到 Ireport

转载 作者:行者123 更新时间:2023-12-02 04:08:00 25 4
gpt4 key购买 nike

我有一个动态获取数据的jtable。例如,我有一个 jtable,它通过单击搜索按钮加载所有员工信息。然后用户可以过滤这些员工的数据。来自部门、员 worker 数等。我想将这些过滤后的数据传递到 ireports 中。不是通过从数据库中获取数据。只能从jtable中取出数据。我写了以下代码。但它显示错误。

try {
DefaultTableModel df = ( DefaultTableModel ) jTable1.getModel();
JRTableModelDataSource dataSource = new JRTableModelDataSource(df);
String reportSource = "./Leave.jrxml";
JasperReport jr = JasperCompileManager.compileReport(reportSource);
Map<String, object> params = new HashMap<String, object>();
params.put("title1" , "title 1");
JasperPrint jp = JasperFillManager.fillReport(jr, params, dataSource);
} catch (JRException ex) {
Logger.getLogger(LeaveManagementInfosystem.class.getName()).log(Level.SEVERE, null, ex);
}

它说“标题 1”不是一个对象。我又试了一次,不加“”。但发生了同样的错误。我怎样才能摆脱这个错误。

最佳答案

我们假设您有一个包含 3 列的 JTable,分别是 s_idnameage .

enter image description here

在 jasper 报告中,您应该根据表列创建具有相同名称的字段

enter image description here

<field name="s_id" class="java.lang.String"/>
<field name="name" class="java.lang.String"/>
<field name="age" class="java.lang.String"/>

您不需要将参数传递给 jasper 报告。

JasperReport jasperReport = JasperCompileManager.compileReport(
source);
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
null, new JRTableModelDataSource(model));
JasperViewer.viewReport(jasperPrint, false);

关于java - 将数据从 Jtable 传递到 Ireport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34066287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com