2011-11-22 15 views
5

में एकाधिक पंक्तियों को फैलाए जाने वाले कॉलम नाम को कैसे प्राप्त करें मैंने तालिका डेटा स्रोत से पीडीएफ जेनरेट करने के लिए जैस्पर विनिर्देश लिखा है। यह ठीक काम कर रहा है। अब मुझे कुछ और कॉलम जोड़ना है और रिपोर्ट अब अच्छी नहीं लग रही है। अब मैं सोच रहा हूँ अगर मैं नीचेजैस्पर रिपोर्ट पीढ़ी

रखरखाव दिनांक

को

रखरखाव

दिनांक

यह संभव प्राप्त करने के लिए है एक की तरह कई पंक्तियों में स्तंभ नाम में निचोड़ कर सकते हैं जैस्पर में यह?

सादर, पॉल

+0

क्या आपका मतलब जैस्पररपोर्ट्स एपीआई उपयोग है? –

+0

कोई एपीआई उपयोग नहीं। मेरे पास jrxml लिखा गया है और मैं पीडीएफ उत्पन्न करने के लिए तालिका डेटा स्रोत का उपयोग करता हूं। – paulhudson

+0

आप अपनी पोस्ट के लिए मेरी पोस्ट –

उत्तर

3

क्या आपके कॉलम नाम हार्ड-कोड किए गए हैं? क्या आपको कैरिज रिटर्न पाने के लिए "रखरखाव दिनांक" को "रखरखाव \ nडेट" में बदलने की आवश्यकता है?

नोट: आप एक स्थिर पाठ तत्व में "\ n" वर्ण नहीं जोड़ सकते हैं। आपको एक टेक्स्ट फ़ील्ड का उपयोग करने की आवश्यकता है। सौभाग्य से, आप iReport में एक स्टेटिक टेक्स्ट तत्व पर राइट-क्लिक कर सकते हैं और उसे टेक्स्ट फ़ील्ड में बदल सकते हैं।

मुझे लगता है कि यह हल हो सकता है। यदि नहीं, तो आपको प्रश्न स्पष्ट करने की आवश्यकता हो सकती है।

+0

हां, मेरे टेबल कॉलम नाम jrxml फ़ाइल में हार्ड-कोड किए गए हैं। यहां एक ही कोड है जो मेरे पास – paulhudson

+0

बिल्कुल सही है। उस मामले में "\ n" जोड़ना चाहिए जो आपको चाहिए। – mdahlman

+0

यह सुनिश्चित नहीं है कि folowing xml snippet \t \t \t \t \t \t \t \t paulhudson

1

आप JasperReports API उपयोग कर रहे हैं तो आप इस नमूना का उपयोग कर सकते हैं:

//Detail 
    band = new JRDesignBand(); 
    band.setHeight(40); 

    JRDesignStaticText staticText = new JRDesignStaticText(); 
    staticText.setX(0); 
    staticText.setY(0); 
    staticText.setWidth(60); 
    staticText.setHeight(20); 
    staticText.setMode(ModeEnum.OPAQUE); 
    staticText.setHorizontalAlignment(HorizontalAlignEnum.LEFT); 
    staticText.setStyle(boldStyle); 
    staticText.setText("ID: "); 
    staticText.getLineBox().getLeftPen().setLineWidth(1); 
    staticText.getLineBox().getTopPen().setLineWidth(1); 
    staticText.getLineBox().setLeftPadding(10); 
    band.addElement(staticText); 

    textField = new JRDesignTextField(); 
    textField.setX(60); 
    textField.setY(0); 
    textField.setWidth(200); 
    textField.setHeight(20); 
    textField.setHorizontalAlignment(HorizontalAlignEnum.LEFT); 
    textField.setStyle(normalStyle); 
    expression = new JRDesignExpression(); 
    expression.setValueClass(java.lang.Integer.class); 
    expression.setText("$F{Id}"); 
    textField.setExpression(expression); 
    textField.getLineBox().getTopPen().setLineWidth(1); 
    textField.getLineBox().getRightPen().setLineWidth(1); 
    textField.getLineBox().setLeftPadding(10); 
    band.addElement(textField); 

    staticText = new JRDesignStaticText(); 
    staticText.setX(0); 
    staticText.setY(20); 
    staticText.setWidth(60); 
    staticText.setHeight(20); 
    staticText.setMode(ModeEnum.OPAQUE); 
    staticText.setHorizontalAlignment(HorizontalAlignEnum.LEFT); 
    staticText.setStyle(boldStyle); 
    staticText.setText("Name: "); 
    staticText.getLineBox().getLeftPen().setLineWidth(1); 
    staticText.getLineBox().getBottomPen().setLineWidth(1); 
    staticText.getLineBox().setLeftPadding(10); 
    band.addElement(staticText); 


    textField = new JRDesignTextField(); 
    textField.setStretchWithOverflow(true); 
    textField.setX(60); 
    textField.setY(20); 
    textField.setWidth(200); 
    textField.setHeight(20); 
    textField.setPositionType(PositionTypeEnum.FLOAT); 
    textField.setStyle(normalStyle); 
    expression = new JRDesignExpression(); 
    expression.setValueClass(java.lang.String.class); 
    expression.setText("$F{FirstName} + \" \" + $F{LastName}"); 
    textField.setExpression(expression); 
    textField.getLineBox().getRightPen().setLineWidth(1); 
    textField.getLineBox().getBottomPen().setLineWidth(1); 
    textField.getLineBox().setLeftPadding(10); 
    band.addElement(textField); 

    ((JRDesignSection) jasperDesign.getDetailSection()).addBand(band); 

परिणाम होगा:

enter image description here

यह इस के लगभग समान है jrxml फ़ाइल का स्निपेट फ़ाइल:

<detail> 
    <band height="40" splitType="Stretch"> 
     <staticText> 
      <reportElement x="0" y="0" width="60" height="20"/> 
      <box leftPadding="10"> 
       <topPen lineWidth="1.0"/> 
       <leftPen lineWidth="1.0"/> 
      </box> 
      <textElement/> 
      <text><![CDATA[ID: ]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="60" y="0" width="200" height="20"/> 
      <box leftPadding="10"> 
       <topPen lineWidth="1.0"/> 
       <rightPen lineWidth="1.0"/> 
      </box> 
      <textElement/> 
      <textFieldExpression><![CDATA[$F{Id}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="0" y="20" width="60" height="20"/> 
      <box leftPadding="10"> 
       <leftPen lineWidth="1.0"/> 
       <bottomPen lineWidth="1.0"/> 
      </box> 
      <textElement/> 
      <text><![CDATA[Name: ]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="60" y="20" width="200" height="20"/> 
      <box leftPadding="10"> 
       <bottomPen lineWidth="1.0"/> 
       <rightPen lineWidth="1.0"/> 
      </box> 
      <textElement/> 
      <textFieldExpression><![CDATA[$F{FirstName} + " " + $F{LastName}]]></textFieldExpression> 
     </textField> 
    </band> 
</detail> 
संबंधित मुद्दे