2012-06-28 6 views
2

여러 필드를 사용하여 iReport에 그룹 식을 쓸 수 있습니까? 보고서 출력은 다음과 같아야합니다.iReport 그룹 표현식 복수 필드

Buyer Product Unit Quantity Total 
------------------------------------------ 
Buyer2 Banana Count 50 
            50 
Buyer2 Banana Kg  5 
Buyer2 Banana Kg  5 
            10 
Buyer2 Coconut Count 20 
            20 
Buyer4 Papaya Count 500 
            500 
Buyer4 Mango Count 200 
            200 
Buyer5 Banana Kg  15 
Buyer5 Banana Kg  15 
            30 
+2

은 왜 오픈이 질문을 떠난? 당신은 상당히 정확한 것 같다 나? 아래의 대답에 만족하지? –

답변

0

가장 간단한 방법은 여러 그룹을 만드는 것입니다. 귀하의 예에서 구매자, 제품 및 단위를위한 세 그룹을 사용하게됩니다. 그런 다음 변수를 사용하여 수량을 합계하고 단위 그룹으로 재설정하십시오.

다음은 기본 예제 JRXML 당신이 적응할 수있다 :

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="612" pageHeight="792" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b478862e-b118-4290-8664-eae9b2966b31"> 
    <parameter name="GROUP_BY" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[$F{field1}]]></defaultValueExpression> 
    </parameter> 
    <field name="buyer" class="java.lang.String"/> 
    <field name="product" class="java.lang.String"/> 
    <field name="unit" class="java.lang.Number"/> 
    <field name="quantity" class="java.lang.String"/> 
    <variable name="sumQuantity" class="java.lang.Number" resetType="Group" resetGroup="unit" calculation="Sum"/> 
    <group name="Buyer"> 
     <groupExpression><![CDATA[$F{buyer}]]></groupExpression> 
    </group> 
    <group name="product"> 
     <groupExpression><![CDATA[$F{product}]]></groupExpression> 
    </group> 
    <group name="unit"> 
     <groupExpression><![CDATA[$F{unit}]]></groupExpression> 
     <groupFooter> 
      <band height="26"> 
       <textField> 
        <reportElement uuid="d1f95335-0fee-4d75-ac0d-74f0dc478a78" x="400" y="0" width="100" height="20"/> 
        <textElement/> 
        <textFieldExpression><![CDATA[$V{sumQuantity}]]></textFieldExpression> 
       </textField> 
      </band> 
     </groupFooter> 
    </group> 
    <columnHeader> 
     <band height="21" splitType="Stretch"> 
      <staticText> 
       <reportElement uuid="c4ee8763-fb32-4805-9bcd-4b407bd7ae35" x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[buyer]]></text> 
      </staticText> 
      <staticText> 
       <reportElement uuid="5c5e099b-f2b4-4c98-b428-bc3983711136" x="100" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[product]]></text> 
      </staticText> 
      <staticText> 
       <reportElement uuid="1bff9ddd-fa17-4b7f-bc00-032653cf2307" x="200" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[unit]]></text> 
      </staticText> 
      <staticText> 
       <reportElement uuid="94e75612-cee4-45e9-97c0-a0d1b8ac6269" x="300" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[quantity]]></text> 
      </staticText> 
      <staticText> 
       <reportElement uuid="92e83a6d-198f-4ee1-95eb-295cb2415136" x="400" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[total]]></text> 
      </staticText> 
     </band> 
    </columnHeader> 
    <detail> 
     <band height="23" splitType="Stretch"> 
      <textField> 
       <reportElement uuid="927b66fa-f4aa-4acf-ac85-fde9164bc974" x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{buyer}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement uuid="f5e8d24f-5529-489d-94b9-78b86b09adda" x="100" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{product}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement uuid="9c9f129b-64c7-40d5-a0a9-af2069d58296" x="200" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{unit}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement uuid="d9443c16-dcac-4a72-b85f-d961c215aee4" x="300" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{quantity}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
</jasperReport>