2014-04-04 7 views
6

मेरे पास एक टेबल है जो मुझे नोस और डेसिमल (वजन-किलो) E.g.10.455 किलो (जो कि 10 किलो और 455 ग्राम) और संख्या में मान देता है। जैसा कि 10 नंबरबिर्ट रिपोर्ट में दशमलव प्रारूप

अब ये सभी मान तालिका में एक कॉलम (दशमलव (10,3) -एमआईएसक्यूएल) से आते हैं और अनियमित कॉलम के आधार पर मुझे यह तय करना है कि बीआईआरटी में 3 दशमलव या शून्य दशमलव होना है या नहीं रिपोर्ट।

मुझे पता है कि स्क्रिप्टिंग के माध्यम से मान संशोधित किए जा सकते हैं .. लेकिन मैं स्क्रिप्टिंग का उपयोग करने में असमर्थ हूं।

मैं

if(row["unittype"]=="Nos") 
var df = new Packages.java.text.DecimalFormat("#,###.##"); 
else 
var df = new Packages.java.text.DecimalFormat("#,###"); 

df.format(row["invoicedquantity"]); 
this.setDisplayValue(df); 

मैं मान

+0

रिपोर्ट प्रस्तुत करने के बाद, जब आप इस स्क्रिप्ट का उपयोग करते हैं तो क्या दिखाई देता है? – Vishrant

+0

आउटपुट में कोई बदलाव –

उत्तर

7

मैं नहीं मानता कि इस onFetch स्क्रिप्ट से काम कर सकते हैं प्राप्त करने में असमर्थ हूँ, स्क्रिप्ट के इस प्रकार में रखा जाना चाहिए onFetch पर इस लिख रहा हूँ " ऑनरेंडर "डेटा तत्व की घटना। इसके अलावा, फ़ॉर्मेटर परिणाम देता है तो यह होना चाहिए:

this.setDisplayValue(df.format(row["invoicedquantity"])); 

लेकिन मुझे लगता है कि यह डेटासेट में के रूप में डेटाप्रकार "स्ट्रिंग" एक गणना स्तंभ बनाने के लिए आसान होगा, अभिव्यक्ति के साथ:

if(row["unittype"]=="Nos"){ 
    Formatter.format(row["invoicedquantity"],"#,###.## Kg"); 
}else{ 
    Formatter.format(row["invoicedquantity"],"#,### Kg"); 
} 

संपादित करें: इस पर गहराई से देखने के बाद, मुझे "संख्यात्मक" संपत्ति को बदलकर, एक और उचित तरीका मिला। डेटा तत्व अभी भी एक अंकीय डेटाप्रकार है क्योंकि यह एक बेहतर तरीका है

if(row["unittype"]=="Nos"){ 
    this.getStyle().numberFormat="#,###.## Kg"; 
}else{ 
    this.getStyle().numberFormat="#,### Kg"; 
} 

, ताकि: onRender या डेटा तत्व के onCreate स्क्रिप्ट में, हम की तरह कुछ कर सकते हैं (एक संख्या डेटाप्रकार होना चाहिए जो) अगर रिपोर्ट एक्सेल में निर्यात की जाती है तो इसे एक्सेल द्वारा एक संख्या के रूप में पहचाना जाएगा।

+0

उत्तर देने के लिए धन्यवाद डोमिनिक लेकिन चालान मात्रा और untype तालिका से कई बार आते हैं (चूंकि चालान में कई पंक्ति वस्तुएं हैं) और जब मैं उस कॉलम के ऑनर पर अन्य उपरोक्त स्क्रिप्ट जोड़ता हूं, यह मूल्यों को बदलता/प्रभावित नहीं करता है .. क्या मुझे कुछ याद आ रहा है? मैं डेटालेमेंट के ऑनरेंड पर आवेदन कर रहा हूं जिसे मुझे –

+0

प्रारूपित करना है, मैंने बेहतर समाधान – Dominique

+0

डोमिनिक के साथ जवाब संपादित किया .. यह बहुत ही अच्छा है .. यह आसानी से काम करता है .. क्या आप कृपया इसे भारतीय नंबर के लिए प्रारूपित करने में मेरी सहायता कर सकते हैं है (#, ##, ##, ## 0.00) ... मैं इस नंबर के लिए वह सेट प्राप्त करने में असमर्थ हूं। प्रत्येक 3 नंबरों के बाद बिर्ट कॉमा जोड़ता है .. अग्रिम धन्यवाद !! –

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