अपने sql में जोड़ें SOITEM."SOID"
(हम जांचते हैं कि क्या यह डुप्लिकेट है), आपको एक फ़ील्ड मिलती है
<field name="SOID" class="java.lang.Integer"/>
एक समूह बनाएं SOID
. पर
<group name="SOID">
<groupExpression><![CDATA[$F{SOID}]]></groupExpression>
</group>
फिर एक चर बनाएं उस समूह के साथ रीसेट किया जाता है जो SOID
. की घटना की गणना करता है
<variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
<variableExpression><![CDATA[$F{SOID}]]></variableExpression>
</variable>
इस कोड के jrxml में अनुक्रम होगा
<field name="SOID" class="java.lang.Integer"/>
<variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
<variableExpression><![CDATA[$F{SOID}]]></variableExpression>
</variable>
<group name="SOID">
<groupExpression><![CDATA[$F{SOID}]]></groupExpression>
</group>
इस चर का उपयोग अब मूल्यांकन करने के लिए किया जा सकता है कि क्या आपने SOID की नकल की है, यह >1 . होगा जब दोहराया गया SOID
उदाहरण textField
. का डुप्लिकेट किए जाने पर वह 0 प्रदर्शित करता है SOID
<textField pattern="###0">
<reportElement x="143" y="0" width="105" height="20" uuid="a0e2ae10-906e-4d0f-aebd-30fc0c694aca">
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$V{SOID_Count}<=1?$F{SOITEM_UNITPRICE}:0]]></textFieldExpression>
</textField>
जिस दिन आप अपनी रिपोर्ट में सुधार करना चाहते हैं, बस एक groupHeader
जोड़ें अपने समूह में बैंड करें और फिर टेक्स्ट फ़ील्ड को इस बैंड में रखें