В настоящее время я пытаюсь сделать отчет, в котором используется таблица, чтобы упростить сортировку для пользователей. Я изучил много вопросов и документации, но я все еще боюсь с правильным способом создания отчета в JasperSoft Studio. Я работал так, но это очень медленно, и я уверен, что это не правильный метод. Здесь более или менее, как я это делаю в данный момент:Правильный способ использования таблицы отчетов Jasper с параметрами?
<subDataset name="Dataset1" uuid="6926ab77-6601-4046-a16e-ff19290b3c00">
<parameter name="param" class="java.lang.Integer"/>
<queryString>
<![CDATA[select
fields
from table
where column = ($P{param})]]>
</queryString>
<!-- fields -->
<field name="field" class="java.lang.String"/>
</subDataset>
<parameter name="param" class="java.lang.Integer"/>
<queryString>
<![CDATA[select
fields
from table]]>
</queryString>
<summary>
<band height="66">
<componentElement>
<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="Dataset1" uuid="933a99f0-f34a-457e-9b90-f641f54fe213">
<datasetParameter name="param">
<datasetParameterExpression><![CDATA[$P{param}]]></datasetParameterExpression>
</datasetParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
</datasetRun>
<jr:column width="100" uuid="ad2b846b-732a-4b83-aec0-959f19ce2972">
<jr:columnHeader style="Table_CH" height="30">
<staticText>
<reportElement x="0" y="0" width="100" height="30" uuid="84616414-4739-471e-b853-7a537e72c959"/>
<text><![CDATA[columnHeader]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell style="Table_TD" height="30">
<textField>
<reportElement x="0" y="0" width="100" height="30" uuid="bafa83be-5223-4f44-88dd-249256c22a72"/>
<textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
</jr:table>
</componentElement>
</band>
</summary>
Является ли это действительно необходимо для выполнения запроса в два раза? Если я попытаюсь удалить любой запрос и обойти его, таблица никогда не получит никаких данных. Эта проблема кажется такой простой, должен быть какой-то метод.
Отлично, именно то, что я искал. Я решил, что будет такое простое решение. Спасибо огромное! – YamSMit