Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Greek DateTime Format στα Reports του .net 2.0

Îåêßíçóå áðü ôï ìÝëïò Vironas15. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 17-04-2007, 18:41. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-12-2006, 09:12 22416

    Greek DateTime Format στα Reports του .net 2.0

    Κατασκευάζω ένα Report (Project->Add Item->Report) σε .net 2.0 και local mode (αν και τραβάω data από SQL Express δεν χρησιμοποιώ Web Services, φορτώνω στον Report Viewer το τοπικό Report που υπάρχει στο project)

    Θέλω στo footer να εμφανίσω την ημερομηνία σε ένα text box και επίσης σε ένα field όπου έχω ημερομηνιες θέλω να τις φορμάρω σε ελληνικό style ημερομηνίας. By default έφερνε στη μορφή MM/dd/yyyy. Χρησιμοποίησα την String.Format ( "{dd/MM/yyyy}", .......) και το επιστρέφει στη μορφή dd/MM/yyyy ( υπάρχει καλύτερος τροπος ???? ). Θα ήθελα όμως να το εμφανίζει στη μορφή 19 Δεκεμβρίου 2006 11:55 π.μ. ( όχι December ούτε PM/AM). Γνωρίζετε αν γίνεται και πως μπορώ να το κάνω?

  •  18-12-2006, 10:51 22427 σε απάντηση της 22416

    Απ: Greek DateTime Format στα Reports του .net 2.0

    Η String.Format από μόνη της χρησιμοποιεί το Culture property. Ανάλογα με τις ρυθμίσεις που έχεις στο web.config, το Culture μπορεί να επηρεάζεται από τη γλώσσα που έχει επιλέξει ο χρήστης στο Browser του. Κοίτα το "How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization",  για μια καλύτερη εξήγηση.
    Αν θέλεις να χρησιμοποιείς ένα συγκεκριμένο culture πάντα, μπορείς να χρησιμοποιήσεις τη μορφή της String.Format που παίρνει παράμετρο IFormatProvider:
    String.Format(CultureInfo.GetCultureInfo("el-GR"), "{0:D}",DateTime.Today) ή String.Format(CultureInfo.GetCultureInfo("en-US"), "{0:D}",DateTime.Today)
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  13-01-2007, 23:09 23458 σε απάντηση της 22427

    Απ: Greek DateTime Format στα Reports του .net 2.0

    pKanavos,

    σ ευχαριστώ για την απάντηση. Όμως δεν δούλεψε διότι (αυτό δεν το ξεκαθάρισα στο αρχικό post) δεν χρησιμοποιώ Web Form αλλά μια Windows Form η οποία έχει πάνω της ReportViewer ο οποίος δείχνει το Report. Ουσιαστικά δεν χρησιμοποιώ τα Reporting Services καθώς το Report είναι σε Local Processing Mode. Δοκίμασα στη form που υπάρχει ο Report Viewer να κάνω  

    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("el-GR");

    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("el-GR");

    αλλά δεν δούλεψε

      Έχεις καμιά ιδέα για το πώς μπορώ να φορμάρω το περιεχόμενο ενός text box του report στη μορφή Σάββατο 13 Ιανουαρίου 2005 ?

     

  •  17-04-2007, 11:34 29775 σε απάντηση της 23458

    Απ: Greek DateTime Format στα Reports του .net 2.0


    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("el-GR");

    Σωστα το κανεις , απλα πρέπει να βαλεις την εντολή πιο πριν στον κωδικα σου δηαδλη ΠΡΙΝ το NEW της φορμας που εχει τον Viewer

  •  17-04-2007, 18:41 29886 σε απάντηση της 29775

    Απ: Greek DateTime Format στα Reports του .net 2.0

    Δεν είναι σωστό να αλλάζεις το CurrentCulture ή το CurrentUICulture της εφαρμογής σου απλά και μόνο για να δείξεις ένα report, καθώς η αλλαγή αυτή θα επηρεάσει ολόκληρη την εφαρμογή. Είναι κάπως ανάλογο με τη μύγα και το κανόνι. Εξάλλου, αν ο χρήστης της εφαρμογής σου έχει γυρίσει τα Windows στα αγγλικά, (οπότε το CurrentCulture είναι αγγλικό) το έχει κάνει γιατί έτσι το προτιμάει. Μπορεί π.χ. να προτιμάει να βάζει δεκαδικά με τελεία αντί για κόμμα. Ή μπορεί να χρειαστεί κάποια στιγμή να δώσεις την εφαρμογή σου σε κάποια αντιπροσωπεία πολυεθνικής που απαιτεί τη χρήση της γλώσσας της μαμάς εταιρείας.

    Έτσι κι αλλιώς, δεν χρειάζεται να κάνεις κάτι φοβερό. Το Report έχει παράμετρο Language. Αν την θέσεις σε Greek αντί για English, θα έχεις το αποτέλεσμα που επιθυμείς. Επιπλέον, μπορείς να θέσεις το Format που θέλεις π.χ. στα properties των TextBox, στο Format tab. Εκεί βάζεις το format string που θα έβαζες σε μία παράμετρο της String.Format. Αν π.χ. έγραφες String.Format(DateTime.Now,"{0:D}"), στο πεδίο Format θα γράψεις D.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems