IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Formater mon Datetime pour le graphique google Chart


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 146
    Par défaut Formater mon Datetime pour le graphique google Chart
    Bonjour,

    j´aimerai enlever l´heure que me renvoie mon datetime en C# en l'occurrence chez moi c'est 12AM cad Minuit. et formater l´axe des X de mon google Chart de la maniere suivante("dd/MM/yyyy"). j´utilise ASP.NET Web Forms Application.

    j´ai essayer les codes suivantes dans la partie du programme "WenForm1.aspx.cs"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         foreach (DataRow row in dsChartData.Rows)  
                {
               row["Datum"] = DateTime.Parse(String.Format("{0}:dd.MM.yyyy", row["Datum"]));// a ce niveau le programme ne s´execute pas 
                    strScript.Append("['" + row["Datum"] + "'," + row["F1"] + "," + row["F2"] + "," + row["F3"] +"],");}  
     strScript.Append
    ("var options = {hAxis: format: 'dd/MM/yyyy',};// sa ne fonctionne pas
     
      strScript.Append("var formatter = new google.visualization.DateFormat({pattern: 'dd/MM/yyyy'});");//sa ne fonctionne pas
    Au niveau de du code "WebForm1.aspx" j ´ai essayé les lignes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="VersuchAsp3.WebForm1" %>
     <div>  
            <script type="text/javascript" src="https://www.google.com/jsapi"></script>  
            <asp:GridView ID="gvData" runat="server" >  
            </asp:GridView>  
            <asp:boundfield datafield="gvData" HeaderText ="gvdata" dataformatstring="{0:dd-MM-yyyy}" htmlencode="false" />
            <br />  
            <br />  
            <asp:Literal ID="ltScripts" runat="server"></asp:Literal>  
            <div id="chart_div" style="width: 800px; height: 600px;">  
            </div>
    voila comment le Datetime s´affiche sur le graphique.j aimerais enlever les heures(12AM)
    Nom : s10.jpg
Affichages : 368
Taille : 184,5 Ko
    merci d´avance
    cordialement

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par maeva87 Voir le message
    j´aimerai enlever l´heure que me renvoie mon datetime en C# en l'occurrence chez moi c'est 12AM cad Minuit
    Ce n'est pas que chez toi, c'est un fonctionnement standard. Il y a plusieurs possibilités :

    1. Si tu veut que le format soit affiché en fonction de la langue :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var dateTime = taValeur.ToShortDateString();
     
    // Un équivalent :
    var dateTime2 = taValeur.ToString("d");

    2. Si ton format est fixe et ne doit pas changer en fonction de la langue :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var dateTime3 = taValeur.ToString("dd/MM/yyyy");

    Pour info : Standard Date and Time Format Strings
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 146
    Par défaut
    lorsque j´écrit les lignes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach (DataRow row in dsChartData.Rows)  
                {
                    //row["Datum"] = DateTime.Parse(String.Format("{0}:dd.MM.yyyy", row["Datum"]));
                    var datetime = row["Datum"].ToString("dd/MM/yyyy");
                    row["Datum"] = datetime;
                    strScript.Append("['" + row["Datum"] + "'," + row["F1] + "," + row["F1"] + "," + row["F2"] +"],");     
                }
    j´obtiens l´erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error 8	No overload for method 'ToString' takes 1 arguments	// je ne peut pas donner d´argument
    var datetime = row["Datum"].ToString(); // me renvoie le string suivant "1/26/2015 12:00:00 AM"
    merci

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    C'est normal il faut d'abord que tu castes ta variable en DateTime. Quelque chose comme ceci devrait faire l'affaire :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var datetime = new DateTime();
    if (DateTime.TryParse(row["Datum"], out datetime))
    {
        row["Datum"] = datetime.ToString("dd/MM/yyyy");
    }
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 146
    Par défaut
    merci,
    mais le if ne passe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if (DateTime.TryParse(row["Datum"], out datetime))
    Error	9	Argument 1: cannot convert from 'object' to 'string'	
    Error	8	The best overloaded method match for 'System.DateTime.TryParse(string, out System.DateTime)' has some invalid arguments

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Un petit effort Comme tu peux le voir dans l'erreur, la méthode TryParse attend un string comme premier paramètre, or row["Datum"] est de type object. Donc il suffit de modifier comme ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    if (DateTime.TryParse(row["Datum"].ToString(), out datetime))
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Autres] Boucle sur graphique google chart
    Par triaguae dans le forum APIs Google
    Réponses: 26
    Dernier message: 07/04/2013, 15h01
  2. Réponses: 2
    Dernier message: 05/02/2013, 15h17
  3. Réponses: 4
    Dernier message: 24/01/2012, 08h54
  4. Réponses: 13
    Dernier message: 27/10/2007, 00h12
  5. [CSS] logiciel pour dev sa propre charte graphique...
    Par luta dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 14/11/2005, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo