2012-06-14 4 views
22

मैं जैस्पर रीपॉर्ट्स पर नौसिखिया हूं, कुछ छोटे नमूने पर काम कर रहा हूं। ऐसा लगता है कि "फील्ड", "पैरामीटर्स" और "वैरिएबल" का उपयोग आमतौर पर गतिशील डेटा को प्रदर्शित करने के लिए किया जाता है और बहुत समान दिखता है। तो क्या मैं पूछ सकता हूं कि विशेष रूप से जैस्पर रीपॉर्ट्स में उनका अंतर क्या है?JasperReports में चर, पैरामीटर और फ़ील्ड के बीच क्या अंतर है?

मुझे लगता है कि परिवर्तनीय एक जैस्पर रिपोर्ट के भीतर परिभाषित किया गया है और गतिशील रूप से बदल सकता है। पैरामीटर बाहरी स्रोत (जावा..एटीसी) से कुछ ले रहा है, फ़ील्ड इकाइयों (डेटाबेस स्कीमा, क्लास इकाई) के लिए है, लेकिन मुझे नहीं लगता कि मेरी समझ ठीक है।

+1

अन्य उत्तरों के अतिरिक्त, यहां आधिकारिक [** जैस्पर रीपॉर्ट्स लाइब्रेरी - ट्यूटोरियल **] (http: //community.jaspersoft।कॉम/विकी/जेस्पररेपोर्ट्स-लाइब्रेरी-ट्यूटोरियल) जहां, अन्य के बीच, [* चर * * (http://community.jaspersoft.com/wiki/jasperreports-library-tutorial#Variables) पर चर्चा करने वाले संबंधित अनुभाग हैं, [* पैरामीटर्स *] (http://community.jaspersoft.com/wiki/jasperreports-library-tutorial# पैरामीटर) और [* फ़ील्ड्स *] (http://community.jaspersoft.com/wiki/jasperreports-library-tutorial# फ़ील्ड) । – informatik01

+3

** "iReport Ultimate Guide" ** के "अध्याय 6: फ़ील्ड, पैरामीटर्स और वैरिएबल" * को पढ़ने के लिए भी उपयोगी हो सकता है ** डाउनलोड करने के लिए उपलब्ध [यहां] (http://community.jaspersoft.com/documentation) (डाउनलोड करने के लिए आपको पंजीकरण करना होगा)। – informatik01

उत्तर

14

JasperReports के साथ अपने व्यक्तिगत अनुभव से मैं यह समझ सकता हूं कि आप सबसे अधिक पैरामीटर और फ़ील्ड्स का उपयोग करेंगे। पैरामीटर और फ़ील्ड स्मृति स्थान या मान हैं जिन्हें आप अपने कोड से पॉप्युलेट कर सकते हैं, यानी जब आप रिपोर्ट जेनरेट करते हैं।

आप आमतौर पर जो करना चाहते हैं वह आपकी रिपोर्ट के लिए अलग-अलग सेटिंग्स वाले पैरामीटर मानचित्र या मानचित्र को पॉप्युलेट कर रहा है। मैं पैरामीटर का उपयोग करता है, तो मैं एक सारांश पृष्ठ या एक कवर पेज (एक रिपोर्ट में बहुत पहले) की तरह कुछ है:

parameters.put("authorName", author); //where authorName is a parameter you have created in your JRXML template. 

इसके बाद, आप कुछ कस्टम "variables" का उपयोग किया जा सकता है या आप JasperReports से प्रदान की वैरिएबल का उपयोग हो सकता है। उनमें से कुछ उपयोगी चर हैं: PAGE_COUNT और PAGE_NUMBER। वे ट्रैक पेज रिपोर्ट और पेज नंबर का ट्रैक रखते हैं। बेशक आप कस्टम चर हो सकते हैं।

फ़ील्ड का उपयोग किया जाता है जहां डेटा अक्सर बदलता है। वे पैरामीटर के समान हैं लेकिन प्रत्येक पुनरावृत्ति के साथ डेटा बदल सकता है। जैसे, एक फ़ील्ड germanCar ऑब्जेक्ट्स की एक सूची हो सकती है और अगले के लिए japaneseCar ऑब्जेक्ट की एक सूची हो सकती है। मैं Car ऑब्जेक्ट्स की सूची रखने के लिए एक फ़ील्ड का उपयोग करूंगा जो बदल सकता है।

नीचे की रेखा पैरामीटर और फ़ील्ड काफी समान हैं, लेकिन फ़ील्ड JasperReportDataSource से पॉप्युलेट हो जाते हैं (इसलिए जब आप डेटासोर्स को पॉप्युलेट कर रहे होते हैं तो वे अक्सर बदल सकते हैं), जबकि पैरामीटर आप कवर पेज या कस्टम जेआर सेटिंग्स के लिए उपयोग करेंगे WHILE खुद की रिपोर्ट करें। वे काफी उलझन में हो सकते हैं।

उम्मीद है कि यह थोड़ा सा मदद करता है!

+0

महान उत्तरों के लिए धन्यवाद, सूची में डेटा दिखाने के लिए एक और सवाल है, क्या इसे जावा टाइप में फ़ील्ड में होना चाहिए या कहें, पैरामीटर आदिम प्रकार हैं और फ़ील्ड संग्रह के लिए हैं? – Dreamer

+0

आमतौर पर एक पैरामीटर एक ऑब्जेक्ट को एक मान के साथ रखता है, जैसे स्ट्रिंग या आदिम प्रकार। फ़ील्ड में सेम, ऑब्जेक्ट इत्यादि का संग्रह हो सकता है ... – Mechkov

+0

क्या फ़ील्ड राशि में परिवर्तनीय हो सकती हैं? या वे केवल स्थिर होना चाहिए? मेरा मतलब है कि रिपोर्ट में दिए गए आंकड़ों के आधार पर एक रिपोर्ट में फ़ील्ड की विशिष्ट मात्रा हो सकती है? –

16

पैरामीटर्स जैस्परपोर्ट्स में सरल इनपुट हैं। उन्हें उपयोग करने से पहले JasperReport में पैरामीटर को परिभाषित करना होगा। आप चर के मान को प्रदर्शित कर सकते हैं, आप इसे बूलियन अभिव्यक्तियों के हिस्से के रूप में उपयोग कर सकते हैं और आप इसे सबरेपोर्ट तक भी पास कर सकते हैं। यह SQL क्वेरी में इनपुट हो सकता है।

फ़ील्ड्स सरल चर परिभाषाएं हैं। आप इन्हें रिपोर्ट में पारित डेटासोर्स ऑब्जेक्ट के इंस्टेंस चर के रूप में सोच सकते हैं या डेटासॉर एक मानचित्र है तो वे प्रमुख नाम हो सकते हैं। यदि आप SQL पर आधारित डेटासेट बनाने के लिए JasperReport को कॉन्फ़िगर करते हैं, तो फ़ील्ड ResultSet के कॉलम नाम हैं। आप निष्पादित SQL क्वेरी के परिणाम को प्रदर्शित करने के लिए फ़ील्ड्स का उपयोग करेंगे।

चर जैस्पर रिपोर्ट के भीतर रहने वाले अन्य प्रकार के चर हैं, वे इनपुट नहीं हैं। उनका उपयोग कुछ फ़ील्ड (ऊपर परिभाषित) के योग या औसत की गणना करने के लिए किया जाता है। आप वैरिएबल का उपयोग कर फ़ील्ड पर कई अन्य पूर्वनिर्धारित गणना फ़ंक्शन कर सकते हैं।

+0

धन्यवाद। मेरे द्वारा देखे गए सभी नमूनों को डेटास्पर के पास पैरामीटर या परिणाम जैस्पर रिपोर्ट में फ़ील्ड के रूप में पास किया जाता है, लेकिन जावा क्लास इंस्टेंस के बारे में कैसे? क्या यह ठीक है अगर एक रिपोर्ट क्लास बनाएं जिसमें पैरामीटर और फ़ील्ड की दो सूचियां हों, तो क्या पूरे इंस्टेंस को पास करना या रिपोर्ट में अलग-अलग तत्वों को पास करना बेहतर है? कौनसा अच्छा है? बहुत बहुत धन्यवाद। – Dreamer

+1

मुझे लगता है कि रिपोर्ट क्लास बनाना बेहतर दृष्टिकोण होगा। क्योंकि रिपोर्ट क्लास आपकी रिपोर्ट का प्रतिनिधित्व कर सकती है और यह रिपोर्ट के लिए डेटामैडल के रूप में कार्य कर सकती है। – sperumal

+0

क्या फ़ील्ड राशि में चर हो सकती है? या वे केवल स्थिर होना चाहिए? मेरा मतलब है कि रिपोर्ट में दिए गए आंकड़ों के आधार पर एक रिपोर्ट में फ़ील्ड की विशिष्ट मात्रा हो सकती है? –

संबंधित मुद्दे