2013-01-02 2 views
2

iReports 버전 3.7.6을 사용 중입니다. 데이터 세트를 사용하여 쿼리에 테이블을 동적으로 연결하여 테이블을 생성하고 있습니다.관련 검색어에 레코드가 없을 때 iReport의 빈 표 인쇄

쿼리가 레코드를 반환하면 모든 레코드가 포함 된 테이블이 인쇄됩니다.

그러나 쿼리가 0 레코드를 반환하면 빈 테이블을 표시해야합니다. 그러나 나는 단지 수평선을 얻고있다. 여기

<componentElement> 
    <reportElement x="131" y="11" width="424" height="24"/> 
    <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical"> 
     <datasetRun subDataset="pmDataSet"> 
      <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression> 
      <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
     </datasetRun> 
     <jr:listContents height="24" width="424"> 
      <textField> 
       <reportElement x="0" y="0" width="134" height="22"/> 
       <box> 
        <topPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{COLUMN_1}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="134" y="0" width="120" height="22"/> 
       <box> 
        <topPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[($F{COLUMN_2}) ? $F{COLUMN_2} : "(Blank)"]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="254" y="0" width="170" height="22"/> 
       <box> 
        <topPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{COLUMN_3}]]></textFieldExpression> 
      </textField> 
     </jr:listContents> 
    </jr:list> 
</componentElement> 

내가 사용한 "목록"요소 (JR : 목록) 및 데이터 세트와 연관 ​​

다음은 재스퍼 XML 파일의 일부이다.

+0

가능한 복제본 [데이터 소스의 값이 비어 있으면 텍스트 필드를 제거 하시겠습니까?] (http://stackoverflow.com/questions/7524124/remove-text-field-if-value-in-datasource-is-empty) & [재스퍼 문서에 페이지가 없습니다.] (http://stackoverflow.com/q/13824125/876298) & [레코드 없음 메시지에 색상 적용] (http://stackoverflow.com/q/10908333/876298) –

답변

2

내가 아는 한, 이것은 테이블로 달성 할 수 없습니다. 그러나 여전히, 해결 방법이 있습니다.

사용을 대신 테이블의 Subreport. 테이블을 사용하여 수행되는 모든 작업은 하위 보고서를 사용하여 수행 할 수도 있습니다. 돌보는 데 필요한 것은이 숙박 시설입니다.

When No Data

설정하여 하나

  • All Sections No Detail

    에 : 디스플레이는
  • No Data Section 정보
  • 헤더 : 사용자 정의 메시지가 No Data 대역에서 표시 할 수 있도록.

희망이 도움이됩니다.

+0

@ noble bhaskar 그래서 테이블 구성 요소 대신 하위 보고서를 사용합니까? – coastline

관련 문제