Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从自定义数据源创建图表或表格_Java_Jasper Reports_Datasource - Fatal编程技术网

Java 如何从自定义数据源创建图表或表格

Java 如何从自定义数据源创建图表或表格,java,jasper-reports,datasource,Java,Jasper Reports,Datasource,我正在使用JasperReports创建一个报告,我已经有数据从数据源传递到报告,但是我不确定如何让它与图表或表格一起工作,我确定应该调用getdata函数来使用JrDatasource表达式,但我不确定如何调用它或包含什么。有人能帮忙吗 我尝试过使用参数,但是没有一个自定义数据源的例子,我看到的唯一其他数据源是JRBean,这与我实现的不同 private static final String[] nameArray = {"Frank", "Joseph", "Marco", "C

我正在使用JasperReports创建一个报告,我已经有数据从数据源传递到报告,但是我不确定如何让它与图表或表格一起工作,我确定应该调用getdata函数来使用JrDatasource表达式,但我不确定如何调用它或包含什么。有人能帮忙吗

我尝试过使用参数,但是没有一个自定义数据源的例子,我看到的唯一其他数据源是JRBean,这与我实现的不同

    private static final String[] nameArray = {"Frank", "Joseph", "Marco", "Carl", "Lenny", "Homer", "Teodor", "Leopold"};

    private static final Integer[] ageArray = {50,30,40,46,44,26,32,21};

    private int counter = -1;

    private HashMap<String, Integer> fieldsNumber = new HashMap<String, Integer>();

    private int lastFieldsAdded = 0;

    @Override
    public boolean next() throws JRException {
        if (counter<nameArray.length-1) {
            counter++;
            return true;
        }
        return false;
    }

    @Override
    public Object getFieldValue(JRField jrField) throws JRException {
        Integer fieldIndex;
        if (fieldsNumber.containsKey(jrField.getName()))
            fieldIndex = fieldsNumber.get(jrField.getName());
        else {
            fieldsNumber.put(jrField.getName(), lastFieldsAdded);
            fieldIndex = lastFieldsAdded;
            lastFieldsAdded ++;
        }
        if (fieldIndex == 0) return nameArray[counter];
        else if (fieldIndex == 1) return ageArray[counter];
        return "";
    }

    public Object getFieldValue2(JRField jrField) throws JRException {
        if (jrField.getName().equals("Name")) return nameArray[counter];
        else if (jrField.getName().equals("Age")) return ageArray[counter];
        return "";
    }

    public static JRDataSource getDataSource(){
        return new Implementation();
    }
private static final String[]nameArray={“Frank”、“Joseph”、“Marco”、“Carl”、“Lenny”、“Homer”、“Teodor”、“Leopold”};
私有静态最终整数[]ageArray={50,30,40,46,44,26,32,21};
专用整数计数器=-1;
private HashMap fieldsNumber=new HashMap();
private int lastFieldsAdded=0;
@凌驾
public boolean next()引发异常{
if(计数器

在这里,我试图将字段_1和字段_2添加到一个表中,但是它没有为表输出任何内容,并且它表示报告的方法实现()未定义

我找到了它,我只是手动将数据适配器添加到数据集

<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    <datasetRun subDataset="LeveyJenDataset" uuid="0b1d0395-fcd9-471a-b840-e800fbc4cad8">
                        <dataSourceExpression><![CDATA[Implementation()]]></dataSourceExpression>
                    </datasetRun>
                    <jr:column width="100" uuid="3211405d-427f-43db-8d48-babd275bfaa8">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="a59d1ac1-555d-487d-8844-4e75510a2ce0"/>
                                <text><![CDATA[Field_1]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="995816a4-8066-421b-9a41-650fe35b0a11"/>
                                <textFieldExpression><![CDATA[$F{Field_1}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="100" uuid="174224c5-0ff0-41f2-be74-2a32f32d3d5f">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="59835446-f3e1-442b-a9fb-55243ec97d10"/>
                                <text><![CDATA[Field_2]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="fe462425-2890-4c63-83b3-46d02fb0b7dc"/>
                                <textFieldExpression><![CDATA[$F{Field_2}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    <datasetRun subDataset="LeveyJenDataset" uuid="0b1d0395-fcd9-471a-b840-e800fbc4cad8">
                        <dataSourceExpression><![CDATA[Implementation()]]></dataSourceExpression>
                    </datasetRun>
                    <jr:column width="100" uuid="3211405d-427f-43db-8d48-babd275bfaa8">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="a59d1ac1-555d-487d-8844-4e75510a2ce0"/>
                                <text><![CDATA[Field_1]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="995816a4-8066-421b-9a41-650fe35b0a11"/>
                                <textFieldExpression><![CDATA[$F{Field_1}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="100" uuid="174224c5-0ff0-41f2-be74-2a32f32d3d5f">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="59835446-f3e1-442b-a9fb-55243ec97d10"/>
                                <text><![CDATA[Field_2]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="fe462425-2890-4c63-83b3-46d02fb0b7dc"/>
                                <textFieldExpression><![CDATA[$F{Field_2}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    <datasetRun subDataset="LeveyJenDataset" uuid="0b1d0395-fcd9-471a-b840-e800fbc4cad8">
                        <dataSourceExpression><![CDATA[Implementation()]]></dataSourceExpression>
                    </datasetRun>
                    <jr:column width="100" uuid="3211405d-427f-43db-8d48-babd275bfaa8">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="a59d1ac1-555d-487d-8844-4e75510a2ce0"/>
                                <text><![CDATA[Field_1]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="995816a4-8066-421b-9a41-650fe35b0a11"/>
                                <textFieldExpression><![CDATA[$F{Field_1}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="100" uuid="174224c5-0ff0-41f2-be74-2a32f32d3d5f">
                        <jr:tableHeader style="Table_TH" height="30"/>
                        <jr:tableFooter style="Table_TH" height="30"/>
                        <jr:columnHeader style="Table_CH" height="30">
                            <staticText>
                                <reportElement x="0" y="0" width="100" height="30" uuid="59835446-f3e1-442b-a9fb-55243ec97d10"/>
                                <text><![CDATA[Field_2]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:columnFooter style="Table_CH" height="30"/>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="100" height="30" uuid="fe462425-2890-4c63-83b3-46d02fb0b7dc"/>
                                <textFieldExpression><![CDATA[$F{Field_2}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>