2013-04-04 3 views
7

कैसे मैं एक दिनांक फ़ील्ड (डाटाबेस क्षेत्र) प्रारुपित करूँ जैस्पर/iReports (4.5.1)दिनांक जैस्पर/iReports में पाठ का हिस्सा स्वरूपण

रिपोर्ट में एक पाठ क्षेत्र के माध्यम से प्रदर्शित में एक पाठ का हिस्सा दिखाया गया है। .. (का उपयोग कर ग्रूवी कृपया)

"इस तिथि के लिए उप कुल:" + $ एफ (DEPOSIT_DATE)

मैं (new SimpleDateFormat("MM/dd/yyyy")).parse($F{DEPOSIT_DATE}) की कोशिश की है और मैं त्रुटि संदेश मिल रहा हूँ:

net.sf.jasperreports.engine.fill.JRExpressionEvalException:  
Error evaluating expression : Source text : (new SimpleDateFormat("MM/dd/yyyy")).parse($F{BANK_DATE})  

क्या मैं निम्नानुसार है ...

इस तिथि के लिए उप कुल मेरी रिपोर्ट में प्रदर्शित करना चाहते हैं: MM/DD/YYYY - प्रारूप ...

उत्तर

24

इस प्रयास करें:

new SimpleDateFormat("MM/dd/yyyy").format($F{BANK_DATE}) 
3

ऐसा लगता है, कि आप फ़ॉर्मेटिंग के बजाय पार्स करने की कोशिश करते हैं (ऊपर बताए अनुसार)।

तुम भी पाठ फ़ील्ड गुण टैब में पैटर्न इस्तेमाल कर सकते हैं jrxml में पैटर्न बदलने सुंदर प्रिंट तिथि, या मैन्युअल करने के लिए: पैटर्न perfrormes साथ

<textField pattern="MM/dd/yyyy"> 
    <!-- here comes other generated data--> 
    <textFieldExpression><![CDATA[$F{BANK_DATE}]]></textFieldExpression> 
</textField> 
3

मैं मातुज़ से सहमत हैं, textfield नए SimpleDateFormat ("someFormat") से तेज़। प्रारूप ("जेस्परफ़िल्ल्ड")। जब आप बड़ी रिपोर्ट से निपटते हैं तो यह महत्वपूर्ण है। यह मेरा उदाहरण

<textField pattern="MM/dd/yyyy" isBlankWhenNull="true"> 
... 
    <textFieldExpression class="java.util.Date"><![CDATA[$F{certIssueDate}]]></textFieldExpression> 
</textField> 
0

है अगर दिनांक फ़ील्ड एक स्ट्रिंग मान है, कहते हैं: "2014-11-20"

<field name="dateField" class="java.lang.String"/> 

तो आप इस

<variable name="THE_DATE" class="java.util.Date"> 
<variableExpression> 
<![CDATA[new java.text.SimpleDateFormat("yyyy-mm-dd").parse($F{dateField})]]> 
</variableExpression> 
</variable> 

<textField pattern="dd/MM/yyyy" isBlankWhenNull="true"> 
    <reportElement x="0" y="0" width="88" height="20" uuid="47b41787-a8fd-44ea-bf96-7e5484e477fb"/> 
    <textElement textAlignment="Left" verticalAlignment="Middle"/> 
    <textFieldExpression><![CDATA[ $V{THE_DATE} ]]></textFieldExpression> 
</textField> 

कर सकते हैं आप सही द्वारा पैटर्न सेट कर सकते हैं फ़ील्ड पर क्लिक करके -> फ़ील्ड पैटर्न पर क्लिक करें -> दिनांक चुनें -> दिनांक पैटर्न चुनें

आप भी इस

<textField isBlankWhenNull="true"> 
    <reportElement x="0" y="0" width="88" height="20" uuid="47b41787-a8fd-44ea-bf96-7e5484e477fb"/> 
    <textElement textAlignment="Left" verticalAlignment="Middle"/> 
    <textFieldExpression class="java.util.Date"><![CDATA[ new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.text.SimpleDateFormat("yyyy-mm-dd").parse($F{dateField})) ]]></textFieldExpression> 
</textField> 

DateField प्रकार Date की है तो नीचे कर ठीक है, तो ऐसा कर सकते हैं हालांकि,।

<field name="dateField" class="java.util.Date"/> 
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true"> 
     <reportElement x="0" y="0" width="88" height="20" uuid="47b41787-a8fd-44ea-bf96-7e5484e477fb"/> 
     <textElement textAlignment="Left" verticalAlignment="Middle"/> 
     <textFieldExpression><![CDATA[ $F{dateField} ]]></textFieldExpression> 
</textField> 
संबंधित मुद्दे