【问题标题】:Get Grand Total of Fields in iReport获取 iReport 中的字段总数
【发布时间】:2015-11-15 05:21:45
【问题描述】:

我有一个 jTable,其中包含 OutflowsAmount 两列。 我使用 iReport 并打印 jTable 中的内容而没有错误。现在我想得到 Amount 字段的总数。

我尝试了很多方法。它显示了铸造问题。我知道给出错误的地方。这是我为导入 jTable's Amount 详细信息而创建的字段名称(我将其创建为 COLUMN_1 并且字段类是字符串)这里我使用字段类作为字符串,因为如果我使用整数它给出了这个错误:-

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :   Source text : $F{COLUMN_1}

但问题是这样的。那应该是整数。否则我们无法从该字段进行计算。如果我把它放在整数上面的错误发生为。这是我的报告查看代码

try {
        JRTableModelDataSource datasource = new JRTableModelDataSource(jt.getModel());
        String report = url;
        JasperReport jr = JasperCompileManager.compileReport(report);

        Map<String, Object> params = new HashMap<String, Object>();
        params.put("rep_title",jLabel1.getText());
        JasperPrint jp = JasperFillManager.fillReport(jr, params, datasource);
        JasperViewer.viewReport(jp, false);
    } catch (Exception e) {
        //JOptionPane.showMessageDialog(this, e);
        System.out.println(e);
    }

请为我的错误做点什么。

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    你可能对字段和变量有不同的类定义。

    如果我们认为$F{COLUMN_1}java.lang.Integer 这将是正确的方法

    在您传递给表的subDataset 中定义字段和变量

    <field name="COLUMN_1" class="java.lang.Integer">
            <fieldDescription><![CDATA[]]></fieldDescription>
    </field>
    
    <variable name="TOTAL" class="java.lang.Integer" calculation="Sum">
      <variableExpression><![CDATA[$F{COLUMN_1}]]></variableExpression>
    </variable>
    

    注意:同一类 java.lang.Integer

    然后将变量 $V{TOTAL} 添加为文本字段,我猜在 jr:columnFooter 中你喜欢它的位置

    <textField>
      <reportElement x="0" y="0" width="90" height="41" uuid="2c37dd10-91c4-4502-b6b0-5d09268153fa"/>
     <textFieldExpression><![CDATA[$V{TOTAL}]]></textFieldExpression>
    </textField>
    

    一定不要在textfieldes中的$V{TOTAL}中添加任何String函数,$V{TOTAL}.indexOf(...)将不起作用你需要先获取String对象es。 $V{TOTAL}.toString().indexOf 可以工作

    【讨论】:

    • 如果我对 COLUMN_1 使用 Integer,它会给出错误.. 应该更正.. 问题是,如何更正..
    • 检查所有类定义,发布你的相关jrxml,我会检查
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多