2008-11-18 20 views
5

मेरे पास कुछ जैस्पर रिपोर्ट हैं जो HTML प्रारूप में प्रदर्शित होती हैं। मैं HTML तालिका में कॉलम की चौड़ाई को व्यापक रूप से विस्तृत सेल (उस कॉलम में) की सामग्री फिट करने के लिए आकार बदलना चाहूंगा, जैसे कि सभी डेटा प्रदर्शित होते हैं।डायनामिक कॉलम सेल चौड़ाई

वर्तमान में ऐसा नहीं होता है क्योंकि एचटीएमएल जैस्पर द्वारा उत्पन्न < तालिका > और कुछ < टीडी > तत्वों, जैसे के लिए निश्चित चौड़ाई निर्दिष्ट करता है

<td style="width: 20px; height: 17px;"> 
    <span style="font-family: Arial; font-size: 11px;">[email protected]</span> 
</td> 

मैं बस इन सभी चौड़ाई गुण (जावास्क्रिप्ट का उपयोग) है, क्योंकि (जैसा कि ऊपर HTML में दिखाया गया है) किसी भी डेटा को भी क्लाइंट साइड को वापस नहीं किया जाता है जब इन चौड़ाई का उपयोग कर छिपा हो जाएगा नहीं निकाल सकते

चीयर्स, डॉन

+0

क्या आपने [iReport] (http://jasperforge.org/plugins/project/project_home.php?group_id=83) का उपयोग करने का प्रयास किया है। JasperReports लिखने के लिए यह एक आईडीई है। यह आपके जीवन को आसान बना सकता है। – Tom

+0

मेरे पास एक ही समस्या है। यदि आप कॉलम को उपलब्ध चौड़ाई में समान रूप से फैलाना चाहते हैं, तो यह संभव नहीं है। जैस्पर स्टुइडो में, जब आप 10 कॉलम के साथ एक टेबल बनाते हैं, तो यह कॉलम को केवल 22px की चौड़ाई वाली एक छोटे से क्षेत्र में स्कैन करता है। आपको फिर प्रत्येक सेल को संपादित करना होगा और चौड़ाई को उस मान में मैन्युअल रूप से बदलना होगा जिसे आप गणना करते हैं- इसमें घंटों लगते हैं। फिर जब आप इसे बदलना चाहते हैं .. इस कारण से मैं कभी भी टेबल का उपयोग नहीं करता हूं। मैं subreports का उपयोग केवल सबकुछ के लिए करता हूं, क्योंकि आप खींचकर अपनी चौड़ाई बदल सकते हैं। –

उत्तर

4

जबकि सही नहीं है, तो आप झंडा क्षेत्र अतिप्रवाह के साथ फैलाने के लिए कर सकता है। यह आपको कम से कम सभी डेटा देगा। अपने jrxml फ़ाइल में यह करने के समान होगा:

<textField isStretchWithOverflow="true" hyperlinkType="None"> 
<reportElement style="Report Sub-Title" x="0" y="84" width="802" height="20"/> 
<textElement/> 
<textFieldExpression class="java.lang.String"><![CDATA["For the period ...]]></textFieldExpression> 
</textField> 

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

+0

जेमी लव के साथ सहमत हैं। लेकिन पूरे कॉलम के लिए संपत्ति लागू करने के लिए, मैं कॉलम हेडर टैग पर अपना सुझाव लागू करूंगा। –

+0

बहुत बढ़िया, धन्यवाद !! मैंने पाया कि जब कॉलम सामग्री को फिट करने के लिए फैलता है तो आसन्न कॉलम के बगल में कोई पैडिंग नहीं होती है। 'Textfield' तत्व के भीतर' 'जोड़ना [इस SO उत्तर] द्वारा सुझाए गए मुद्दे को ठीक किया गया है (http://stackoverflow.com/a/14284593/848668) – br3nt

-2

iReport में "स्ट्रेच टाइप" नामक एक विकल्प है। "बैंड ऊंचाई से संबंधित" का चयन करें

+3

@ करलोस: वह होगा कोशिका ऊंचाई में फैलती है, चौड़ाई नहीं। –

3

डेवलपर्स ने सेल चौड़ाई को फैलाने की अनुमति देने के लिए एक सचेत निर्णय नहीं लिया। कॉलम के लिए सामग्री के आधार पर अपनी चौड़ाई बदलने के लिए, यह प्रोग्रामिंग के माध्यम से किया जाना चाहिए। एक सहायक उपकरण: DynamicJasper

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

+0

क्षमा करें, लेकिन आप इसे डायनामिक जैस्पर में कैसे करते हैं? मैं बोता हूं कि 'फास्ट रिपोर्ट बिल्डर' में 'एडकॉलम' चौड़ाई के लिए _int_ मान मांगता है –

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