दिलचस्प पोस्ट
PHP दिनांक प्रारूप / तिथि (1365004652303-0500) / सी # में एक परिपत्र बिट शिफ्ट करने का एक तरीका है? क्या "अनाम स्ट्रैक्ट्स" मानक है? और, वास्तव में, वे क्या हैं? मैं कैसे angularjs ui-router में राज्यों के बीच $ स्कोप डेटा साझा कर सकता हूं? जावास्क्रिप्ट में सॉर्ट करना: क्या प्रत्येक फंक्शन में "रिटर्न 0" कथन है? NumPy में भारित मानक विचलन? RestTemplate अनुरोधों के साथ पोस्ट पैरामीटर के रूप में मल्टीपार्ट फ़ाइल भेज रहा है क्रोम एक्सटेंशन में popup.js और background.js के बीच कैसे संपर्क करें? HTML5 के साथ रियर कैमरा सक्षम करें सैक पार्सर का उपयोग करके एक्सएमएल को कैसे पार्स करना है I संदर्भ मेनू के रूप में बूटस्ट्रैप 3 ड्रॉपडाउन मेनू का उपयोग करें PHP के यूज़र के साथ सॉर्ट करते समय कुंजी क्रम (स्थिर सॉर्ट) को सुरक्षित रखें आप पहले से ही एक्स सक्रिय कर चुके हैं, लेकिन आपके Gemfile को वाई की आवश्यकता है किसी वेबसाइट पर ई-मेल पता करने का सबसे अच्छा तरीका? आईओएस में स्थिति पट्टी कैसे छिपाएगी?

रनटाइम पर कॉलम कैसे दिखाना / छुपाना है?

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

मुझे पसंद करना होगा अगर अतिरिक्त स्थान को अधिक प्रभावी तरीके से इस्तेमाल किया गया था, तो संभावनाएं शामिल हैं:

  • रिपोर्ट की चौड़ाई छुपा कॉलम की चौड़ाई से कम हो जाती है
  • शेष स्थान के बीच अतिरिक्त स्थान वितरित किया जाता है

सिद्धांत में, मैं कॉलम (और हैडर) की चौड़ाई को 0 पर सेट करके पहले प्राप्त कर सकता था, लेकिन यह भी संकेत मिलता है कि कॉलम को इसकी सामग्री को फिट करने के लिए आकार बदलना चाहिए। लेकिन JasperReports "सामग्री फिट करने के लिए आकार बदलने की चौड़ाई" विकल्प प्रदान नहीं करता है।

एक अन्य संभावना है कि XML में रिपोर्ट टेम्प्लेट को परिभाषित करने के बजाय जास्पर एपीआई का इस्तेमाल करते हुए रिपोर्ट्स उत्पन्न होती हैं। लेकिन ऐसा लगता है कि इस तरह की एक साधारण आवश्यकता के लिए बहुत सारे प्रयासों की तरह लगता है

Solutions Collecting From Web of "रनटाइम पर कॉलम कैसे दिखाना / छुपाना है?"

बाद के संस्करण में (v5 या ऊपर) जैस्पर की रिपोर्ट में आप jr:table घटक का उपयोग कर सकते हैं और वास्तव में इसे प्राप्त कर सकते हैं (गतिशील-जैस्पर या डायनामिक-रिपोर्ट का उपयोग करने के लिए जावा कोड के उपयोग के बिना)

यह विधि <jr:column/> अंतर्गत <printWhenExpression/> का उपयोग कर रहा है

उदाहरण

नमूना डेटा

 +----------------+--------+ | User | Rep | +----------------+--------+ | Jon Skeet | 854503 | | Darin Dimitrov | 652133 | | BalusC | 639753 | | Hans Passant | 616871 | | Me | 6487 | +----------------+--------+ 

नमूना jrxml

नोट : पैरामीटर $P{displayRecordNumber} और <printWhenExpression> पहले jr:column अंतर्गत jr:column

 <?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="reputation" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a88bd694-4f90-41fc-84d0-002b90b2d73e"> <style name="table"> <box> <pen lineWidth="1.0" lineColor="#000000"/> </box> </style> <style name="table_TH" mode="Opaque" backcolor="#F0F8FF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> </box> </style> <style name="table_CH" mode="Opaque" backcolor="#BFE1FF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> </box> </style> <style name="table_TD" mode="Opaque" backcolor="#FFFFFF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> </box> </style> <subDataset name="tableDataset" uuid="7a53770f-0350-4a73-bfc1-48a5f6386594"> <field name="User" class="java.lang.String"/> <field name="Rep" class="java.math.BigDecimal"/> </subDataset> <parameter name="displayRecordNumber" class="java.lang.Boolean"> <defaultValueExpression><![CDATA[true]]></defaultValueExpression> </parameter> <queryString> <![CDATA[]]> </queryString> <title> <band height="50"> <componentElement> <reportElement key="table" style="table" x="0" y="0" width="555" height="47" uuid="76ab08c6-e757-4785-a43d-b65ad4ab1dd5"/> <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd"> <datasetRun subDataset="tableDataset" uuid="07e5f1c2-af7f-4373-b653-c127c47c9fa4"> <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression> </datasetRun> <jr:column width="90" uuid="918270fe-25c8-4a9b-a872-91299cddbc31"> <printWhenExpression><![CDATA[$P{displayRecordNumber}]]></printWhenExpression> <jr:columnHeader style="table_CH" height="30" rowSpan="1"> <staticText> <reportElement x="0" y="0" width="90" height="30" uuid="5cd6da41-01d5-4f74-99c2-06784f891d1e"/> <textElement textAlignment="Center" verticalAlignment="Middle"/> <text><![CDATA[Record number]]></text> </staticText> </jr:columnHeader> <jr:detailCell style="table_TD" height="30" rowSpan="1"> <textField> <reportElement x="0" y="0" width="90" height="30" uuid="5fe48359-0e7e-44b2-93ac-f55404189832"/> <textElement textAlignment="Center" verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90" uuid="7979d8a2-4e3c-42a7-9ff9-86f8e0b164bc"> <jr:columnHeader style="table_CH" height="30" rowSpan="1"> <staticText> <reportElement x="0" y="0" width="90" height="30" uuid="61d5f1b6-7677-4511-a10c-1fb8a56a4b2a"/> <textElement textAlignment="Center" verticalAlignment="Middle"/> <text><![CDATA[Username]]></text> </staticText> </jr:columnHeader> <jr:detailCell style="table_TD" height="30" rowSpan="1"> <textField> <reportElement x="0" y="0" width="90" height="30" uuid="a3cdb99d-3bf6-4c66-b50c-259b9aabfaef"/> <box leftPadding="3" rightPadding="3"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$F{User}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90" uuid="625e4e5e-5057-4eab-b4a9-c5b22844d25c"> <jr:columnHeader style="table_CH" height="30" rowSpan="1"> <staticText> <reportElement x="0" y="0" width="90" height="30" uuid="e1c07cb8-a44c-4a8d-8566-5c86d6671282"/> <textElement textAlignment="Center" verticalAlignment="Middle"/> <text><![CDATA[Reputation]]></text> </staticText> </jr:columnHeader> <jr:detailCell style="table_TD" height="30" rowSpan="1"> <textField pattern="#,##0"> <reportElement x="0" y="0" width="90" height="30" uuid="6be2d79f-be82-4c7b-afd9-0039fb8b3189"/> <box leftPadding="3" rightPadding="3"/> <textElement textAlignment="Right" verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$F{Rep}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> </jr:table> </componentElement> </band> </title> </jasperReport> 

$ P {displayRecordNumber} के साथ आउटपुट = सत्य

सच

$ P {displayRecordNumber} = आउटपुट के साथ आउटपुट

असत्य

जैसा कि आप देख सकते हैं कि स्तंभ किस प्रकार दिखाए जाते हैं उसके आधार पर अच्छी तरह से अनुकूल होता है।

JasperDesign का उपयोग टेम्पलेट ऑब्जेक्ट (JasperReport) को रनटाइम पर कोड के भीतर संशोधित करने के लिए किया जाता है। मुझे लगता है कि यह आपके मामले में फिट हो सकता है

"दूसरी रिपोर्ट" विषय पर मैंने जो कुछ भी उपयोग किया है, उस पर थोड़ा बदलाव, रिपोर्ट के उस हिस्से को अलग करने के लिए है जहां आपके पास अपनी खुद की उप -पोर्ट में एक वैकल्पिक कॉलम है, और उसके बाद दो उप-रिपोर्ट, कॉलम के बिना एक और एक के साथ, और तब उपयोग करें निर्धारित करने के लिए कि कौन से उप-रिपोर्ट मुद्रित करना है

लाइन को रिक्त करें जब रिक्त हो: यह विकल्प किसी ऑब्जेक्ट पर कब्जा कर लिया ऊर्ध्वाधर स्थान को दूर ले जाता है, यदि यह दृश्यमान नहीं है; तत्व दृश्यता प्रिंट में समाहित अभिव्यक्ति के मूल्य से निर्धारित होती है, जब अभिव्यक्ति विशेषता होती है। एक ग्रिड के रूप में पेज को सोचें, जहां तत्व रखे जाते हैं, जिस रेखा के साथ एक तत्व स्थान पर रहता है। चित्रा 4-17 तत्व एक रेखा को प्रकाश डाला; वास्तव में इस रेखा को हटाने के लिए, सभी तत्व जो लाइन के एक हिस्से को साझा करते हैं, उन्हें शून्य होना चाहिए (अर्थात, वे मुद्रित नहीं होंगे)।

मैं डायनामिक रपोर्ट्स का उपयोग करने की सलाह देता हूं, यह ओपन सोर्स है और जसपररपोर्ट्स पर आधारित है। इस पुस्तकालय का मुख्य लाभ एक गतिशील रिपोर्ट डिज़ाइन है और दृश्य रिपोर्ट डिजाइनर के लिए कोई ज़रूरत नहीं है।

यदि यह सिर्फ एक स्तंभ है, तो क्या यह स्तंभ को दाहिनी ओर स्थित करना संभव है, और फिर अभिव्यक्ति के दौरान प्रिंट का उपयोग करें। इस तरह से बीच में एक छेद नहीं है मैं जानता हूँ कि यह आदर्श नहीं है, जैसा कि मैंने जो करने की कोशिश की थी, वह वर्तमान में पूरा करने की कोशिश कर रहा था, और जो मैं अच्छा समाधान कहता हूं वह नहीं मिल सका।

दूसरा विचार कॉलम के साथ पहले के आधार पर एक दूसरी रिपोर्ट तैयार करना होगा, और फिर रिपोर्ट को कॉल करते समय स्थिति को जांचें, यह तय करने के लिए कि कौन सी कॉल करें। फिर से आदर्श नहीं, लेकिन काम करेगा

मुझे पता है कि यह वास्तव में आप का जवाब नहीं है, लेकिन इनमें से एक सुझाव आपके लिए काम कर सकते हैं।

इस ट्यूटोरियल में वे एक्सलॉग टेम्प्लेट के साथ वेग की रूपरेखा का उपयोग कर रहे हैं। यह बहुत जटिल है और इसे सरल बनाने के लिए आप हमें डायनेमिक जास्पर यह लाइब्रेरी ओपन सोर्स जावा एपीआई है जो जस्पपर रिप्टस पर कार्य करता है जो गतिशील कॉलम इश्यू को हल करती है।

मुझे लगता है कि यह उत्तर बहुत देर से आता है, लेकिन मैं इसे रिकॉर्ड के लिए जोड़ देता हूं मेरे मामले में मैं इसे किसी भी अतिरिक्त निर्भरता या उपकरण के बिना हल कर सकता था JRXML फ़ाइल में, मैंने टेक्स्टफ़ेल्ड की चौड़ाई को एक गतिशील चौड़ाई कई बार जोड़ दिया एक बार संभव चौड़ाई के अनुसार फिर प्रत्येक टेक्स्टफील्ड पर, मैंने तय किया है कि यह केवल एक निश्चित स्थिति के मामले में मुद्रित किया जाना चाहिए।

यह गतिशील रूप से चौड़ाई की स्थापना के रूप में सुंदर नहीं हो सकता है, लेकिन यह अतिरिक्त पुस्तकालयों के साथ किसी भी परेशानी के बिना चाल करता है।