2010-07-11 6 views
5

मैं जैस्पर रीपॉर्ट्स और आईरपोर्ट (पीडीएफ में आउटपुट) का उपयोग कर रहा हूं, और मुझे एक निश्चित रिपोर्ट के साथ समस्या है:JasperReports समूह केवल तभी आवश्यक होने पर नए पेज पर शुरू करें?

रिपोर्ट के अंदर मैंने एक समूह को परिभाषित किया है। औसतन, उस समूह के प्रत्येक "उदाहरण" में केवल थोड़ी सी विस्तृत पंक्तियां होती हैं, इसलिए मैं नहीं चाहता कि उनमें से प्रत्येक एक नए पेज पर शुरू हो जाए, क्योंकि यह कागज़ का अपशिष्ट होगा (आउटपुट पेपर पर मुद्रित होता है)।

लेकिन दूसरी ओर, मैं एक समूह नहीं चाहता हूं जो एक पृष्ठ पर शुरू होता है और अगले पर समाप्त होता है। उदाहरण के लिए, यदि पेज 1 पर मैं पहले दो समूहों और तीसरे समूह के आधा फिट कर सकता हूं, तो मैं चाहता हूं कि पूरा तीसरा समूह पेज 2 पर शुरू हो, और इसी तरह।

क्या ऐसा करने का कोई तरीका है?

उत्तर

6

<group> संपत्ति keepTogether वास्तव में आप क्या चाहते है! यह जैस्पर 3.6.2 के आसपास जोड़ा गया था, this discussion देखें।

तो:

<group name="CITY" keepTogether="true"> 
    <groupExpression><![CDATA[$F{CITY}]]></groupExpression> 
    <groupHeader> 
    ... 
    </groupHeader> 
</group> 
0

सही विस्तार बैंड पर क्लिक करें और एक अन्य विस्तार से बैंड जोड़ें। आप इन विवरण बैंड ब्लॉक का उपयोग करके अपने पेज को समूहित कर सकते हैं।

प्रत्येक बैंड के लिए पर्याप्त ऊंचाई जोड़े इतना है कि यह नया पृष्ठ

0

पर ओवरलैप नहीं करेंगे तालिका घटक हम निम्नलिखित गुण निर्धारित करने की आवश्यकता में नया पृष्ठ में समूह डेटा प्रदर्शित करने के लिए।

  1. समूह के नाम पर -> उन्नत गुण -> नया पृष्ठ सही के रूप में चुनें।
  2. आउटपुट का निरीक्षण करें, समूह डेटा नए पृष्ठ में प्रदर्शित होता है।

सादर,

हरीश

9

"समूह" संपत्ति keepTogether और isStartNewPage आपकी समस्या का समाधान और समूह परिणाम एक साथ बनाता है और हमेशा नए पेज से नया समूह शुरू होता होगा।

<group name="CITY" isStartNewPage="true" keepTogether="true"> 
    <groupExpression><![CDATA[$F{CITY}]]></groupExpression> 
    <groupHeader> 
    ... 
    </groupHeader> 
</group> 
संबंधित मुद्दे